Al usar error_reporting()
o ini_set('error_reporting')
en mis scripts, ¿hay alguna diferencia de funcionalidad entre los dos? ¿Se prefiere un método al otro?Diferencia entre error_reporting() y ini_set ('error_reporting')?
Por lo que vale, veo muchos frameworks usando error_reporting()
, pero parece que ambas opciones se configuran solo durante el tiempo de ejecución, luego restablecen a sus valores predeterminados en php.ini después de la ejecución del script.
No exactamente; ini_set devuelve falso cuando la configuración no existe. Espera una cadena, por lo que todo lo que se puede interpretar como una cadena se convierte. Si le pasa un Objeto, por ejemplo, PHP genera una advertencia y devuelve nulo, que es idéntico al comportamiento de error_reporting cuando pasa un objeto (un objeto sin un método __toString()). Siendo el punto, su pregunta fue la diferencia entre 'ini_set ('error_reporting')' y 'error_reporting()', no la forma en que 'ini_set()' maneja los errores en los nombres de las directivas. – Dereleased
Debo aclarar, cuando digo "espera una cadena" me refiero al segundo parámetro, el valor de la configuración que se está configurando, y todo lo demás se refiere a eso. – Dereleased
@Dereleased, creo que el retorno de ini_set falso se basa en la posibilidad de bloquear el cambio de algunas configuraciones en tiempo de ejecución en 'php.ini'.Así que supongo que si cambiar el nivel de error en el tiempo de ejecución está deshabilitado en php.ini (No estoy seguro si eso es posible, pero creo que es) ini_set() devolverá 'false' mientras' error_reporting'will, al menos de acuerdo con el manual , siempre devuelve el antiguo nivel de error. –