Avatar ·

¿Para qué sirve el símbolo @ (perro) en PHP y cómo funciona la supresión de errores?

¡Hola a todos! Acabo de empezar a estudiar PHP y a menudo veo en código ajeno un símbolo extraño @ antes de funciones. Por ejemplo: ```php $file = @fopen('config.php', 'r'); $data = @file_get_contents('http://api.example.com'); @$result = someFunction(); ``` Entiendo que esto tiene algo que ver con errores, pero no lo comprendo del todo. Cuando escribo código sin @, al acceder a un archivo inexistente o tener problemas de red, me aparecen advertencias (warnings) y errores fatales. Con @, los errores desaparecen. Pero esto no puede ser la solución correcta, ¿verdad? Tengo varias preguntas: 1. ¿Cómo funciona exactamente el operador @? ¿Suprime todos los errores o solo ciertos tipos? 2. ¿Por qué muchos desarrolladores experimentados critican @ y aconsejan no usarlo? 3. ¿Existen alternativas normales para manejar errores sin suprimirlos? Por favor, den ejemplos de cuándo @ es realmente necesario y cuándo es una mala práctica. ¡Gracias de antemano! <<>>

Cómo funciona el operador @ en PHP