Programación Procedural de Aplicaciones Web de baja complejidad PHP Experto – Tomo I
Eugenia Bahit
Una forma simple de lograr esto, es crear un archivo de configuración para la aplicación (que deba ser importado por todos los archivos de la aplicación), que decida si mostrar o no los errores, según el valor de una constante creada a tal fin, que llameremos PRODUCCION, estableciendo su valor por defecto en False (significará que estamos en entorno de desarrollo) y al subir a producción, la setearemos en True: <?php const PRODUCCION = False; // en entornos de producción, cambiar a True if(!PRODUCCION) { ini_set('error_reporting', E_ALL | E_NOTICE | E_STRICT); ini_set('display_errors', '1'); ini_set('track_errors', 'On'); } else { ini_set('display_errors', '0'); } ?>
Utilizando el símbolo @ para silenciar errores En PHP, es posible silenciar errores anteponiendo una arroba (@) a la instrucción que podría generar un error. Es una práctica que debe utilizarse con sumo cuidado y siempre que se quiera capturar el error (a pesar de estar silenciado), deberá establecer track_errors en On a fin de obtener dicho error mediante la variable $php_errormsg. Veamos algunos ejemplos: <?php ini_set('error_reporting', E_ALL | E_NOTICE | E_STRICT); ini_set('display_errors', '0'); ini_set('track_errors', 'On'); $archivo = @fopen('archivo_que_no_existe.txt', 'r');
185