¿Hay alguna manera de mostrar, o lanzar, una advertencia de PHP?


Tengo un método select() en una clase de base de datos, que tiene un argumento booleano opcional sum sum. Este argumento se usa para decir si el método debe o no usar COUNT(*) también.

Me gustaría mostrar una advertencia, como los errores normales de PHP, si intento acceder a class->sum si el atributo no está establecido (es decir, cuando llamo a select() con class sum = false.

¿Hay alguna manera de mostrar una advertencia como esta, o simplemente debería repetir un error y ser feliz?

Author: igorsantos07, 2009-07-08

3 answers

Si desea generar una advertencia, debe escribir

trigger_error($yourErrorMessage, E_USER_WARNING);

trigger_error() tiene el parámetro $error_type para establecer el nivel de error(Notice, Warning o Fatal error). Las constantes son, respectivamente:

E_USER_NOTICE             // Notice (default)
E_USER_WARNING            // Warning
E_USER_ERROR              // Fatal Error

Tenga en cuenta que Fatal error detiene la ejecución del código php secuente, mientras que Notice y Warning permiten que continúe.

Desde PHP 5.5, también deberías considerar la sentencia Finally.

 40
Author: T30,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-18 15:06:57

Usted podría intentar trigger_error().

 12
Author: alex,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-07 23:04:20

Vas por el enfoque orientado a objetos, así que sugiero que eches un vistazo a las excepciones .

 4
Author: moo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-08 02:32:07