在trigger_error()
上使用自定义错误级别是一种好习惯吗?
例如,我可以这样做:
define('E_MY_LEVEL', 3);
...
trigger_error('Hey this error occurs every time!', E_MY_LEVEL);
?考虑到3不是PHP Error level value,因此它不会与其他级别发生冲突。
(我想这样做,这样我就不必创建另一个需要其他代码的函数,而不是我已经在与{{1}关联的error_handler
函数中编写的函数。 }}。)
答案 0 :(得分:1)
很难说这是否是一种好的做法,但确实存在3作为PHP错误级别值 -
error_reporting( E_ERROR | E_WARNING ); // E_ERROR | E_WARNING = 3
还不知道你的trigger()函数是什么,trigger_error需要E_USER范围内的错误级别......也许最好使用E_USER_NOTICE? (1024)
答案 1 :(得分:1)
基本的E_XXX错误代码标志通常基于2的幂,例如1 2 4 8 16 32等。
如果您发现未使用的功率为2,则可以使用该功率。
因为3 = 1 + 2是2的两个幂的总和,所以它计为使用两个标志,E_ERROR | E_WARNING。