Suprime cualquier error que de otro modo podría producirse.
Es una receta para el dolor y las dificultades, ya que inevitablemente ocasiona dificultades cuando se produce un error, está obligado a pasar horas buscando la causa. Si el operador @ no se hubiera utilizado, el error se habría encontrado en segundos.
No hay una buena razón para usarlo, use los ajustes display_errors y error_log ini para evitar que los errores se muestren en un sitio en vivo, y permita que se muestren en su sitio de desarrollo.
Si hay un error que no desea ver, ¡es mejor que lo solucione solo que suprimiéndolo!
Si se trata de algo en una lib externa y fuera de su control, solo escríbalo en los registros, apague display_errors en la producción y viva con él. Porque no se sabe si el error que estás suprimiendo ahora y con el que estarás feliz de vivir SIEMPRE será el error que se genere desde allí.
@ === BAD
Bueno perezoso ... Digamos que es útil para una secuencia de comandos "se ejecute una vez, tirar a la basura". En cualquier caso, es una mala práctica. –
Es terriblemente útil para suprimir avisos de error si de lo contrario tiene un controlador de errores en su lugar. – eyelidlessness
"Generalmente es utilizado por programadores perezosos que no quieren verificar los códigos de error" - Completamente incorrecto. @ es exactamente cómo hace PHP su "try/catch" http://www.php.net/manual/en/language.operators.errorcontrol.php – Havenard