有没有办法显示或抛出PHP警告?

igo*_*s07 37 php warnings

我在数据库类中有一个select()方法,它有一个可选的布尔参数$ sum.该参数用于表示该方法是否应该使用COUNT(*).

我想显示一个警告,就像那些正常的PHP错误,如果我尝试访问class-> sum,如果没有设置属性(即当我用$ sum = false调用select()时).

有没有办法显示这样的警告,或者我应该回应错误并开心?

T30*_*T30 53

如果要生成警告,则应编写

trigger_error($yourErrorMessage, E_USER_WARNING);
Run Code Online (Sandbox Code Playgroud)

trigger_error()具有$error_type用于设置错误级别(Notice,WarningFatal error)的参数.常数分别为:

E_USER_NOTICE             // Notice (default)
E_USER_WARNING            // Warning
E_USER_ERROR              // Fatal Error
Run Code Online (Sandbox Code Playgroud)

需要注意的是Fatal error停止的相继式的PHP代码的执行,而NoticeWarning让它继续.

从PHP 5.5开始,您还应该考虑Finally语句.

  • 不要忘记 **`return ;`** 当在 `__call` 或 `__callStatic` 中使用时,它只是一个与其他函数一样的函数,它 **不是一个语言构造**。如果你不这样做,你的函数可能会在其他地方失败,而这些地方本来就不应该出现 (2认同)

ale*_*lex 14

你可以试试trigger_error().

  • ...使用E_WARNING作为第二个参数. (9认同)
  • `trigger_error()`只能接受E_USER系列的警告; 请改用E_USER_WARNING. (7认同)

moo*_*moo 5

您将采用面向对象的方法,因此我建议您查看异常情况。

  • +1 Exceptions 将为您提供用于调试的完整回溯信息,而 trigger_error() 不会为您提供有用的文件名/行号。 (2认同)