这是从PHP手册:http://us.php.net/manual/en/language.constants.syntax.php



我真的不喜欢这种行为。如果我未能定义所需的常量,则宁愿脚本失败,也可以强制定义它。如果尝试使用未定义的常量,是否有任何方法可以强制PHP使脚本崩溃?

例如。这两个脚本都做同样的事情。

<?php
define('DEBUG',1);
if (DEBUG) echo('Yo!');
?>


<?php
if(DEBUG) echo('Yo!');
?>

我宁愿使用第二个脚本DIE并声明它尝试使用未定义的常量DEBUG。

最佳答案

您可以执行以下操作(难看):

伪代码:

/**
 * A Notice becomes an Error :)
 */
function myErrorHandler($errno, $errstr, $errfile, $errline) {
    if ($errno == E_NOTICE) { // = 8
        if (substr($errstr ... )) { // contains something which looks like a constant notice...
             trigger_error('A constant was not defined!', E_USER_ERROR);
        }
    }
}
set_error_handler("myErrorHandler");
  • checkout set_error_handler()
  • 还要检查以下注释:
    http://us.php.net/manual/en/class.errorexception.php#95415
  • 09-10 05:11
    查看更多