【发布时间】:2009-07-08 02:26:51
【问题描述】:
我在一个数据库类中有一个select() 方法,它有一个可选的布尔参数$sum。该参数用于表示该方法是否应该使用COUNT(*)。
如果我尝试访问$class->sum(如果未设置属性,即当我用$sum == false 调用select() 时),我想显示一个警告,就像那些正常的PHP 错误一样。
有没有办法显示这样的警告,或者我应该只是回显一个错误并感到高兴?
【问题讨论】:
我在一个数据库类中有一个select() 方法,它有一个可选的布尔参数$sum。该参数用于表示该方法是否应该使用COUNT(*)。
如果我尝试访问$class->sum(如果未设置属性,即当我用$sum == false 调用select() 时),我想显示一个警告,就像那些正常的PHP 错误一样。
有没有办法显示这样的警告,或者我应该只是回显一个错误并感到高兴?
【问题讨论】:
如果你想产生一个警告,你应该写
trigger_error($yourErrorMessage, E_USER_WARNING);
trigger_error() 具有用于设置错误级别的$error_type 参数(Notice、Warning 或Fatal error)。常量分别是:
E_USER_NOTICE // Notice (default)
E_USER_WARNING // Warning
E_USER_ERROR // Fatal Error
请注意,Fatal error 停止执行后续 PHP 代码,而 Notice 和 Warning 让它继续执行。
从 PHP 5.5 开始,您还应该考虑 Finally 语句。
【讨论】:
return ; 用于例如__call 或 __callStatic,它只是一个函数,它不是语言结构。如果你不这样做,你的函数可能会在更远的地方失败,它不应该放在首位
你可以试试trigger_error()。
【讨论】:
trigger_error() 只能接受 E_USER 系列的警告;请改用 E_USER_WARNING。
您将采用面向对象的方法,因此我建议您查看exceptions.
【讨论】: