Para que serve o símbolo @ (arroba) no PHP e como funciona a supressão de erros?
Olá a todos! Comecei a estudar PHP recentemente e vejo frequentemente em código alheio um símbolo estranho @ antes de funções. Por exemplo:\n\n```php\n$file = @fopen('config.php', 'r');\n$data = @file_get_contents('http://api.example.com');\n@$result = someFunction();\n```\n\nEntendo que isso tem algo a ver com erros, mas não compreendo completamente. Quando escrevo código sem @, ao acessar um arquivo inexistente ou ter problemas de rede, aparecem warnings e erros fatais. Com @, os erros desaparecem. Mas isso não pode ser a solução correta, certo?\n\nTenho algumas perguntas:\n1. Como exatamente funciona o operador @? Ele suprime todos os erros ou apenas tipos específicos?\n2. Por que muitos desenvolvedores experientes criticam o @ e recomendam não usá-lo?\n3. Existem alternativas adequadas para tratar erros sem supressão?\n\nPor favor, dê exemplos de quando o @ é realmente necessário e quando é uma má prática. Desde já, obrigado!\n<<>>\n