确切地说YII_DEBUG在哪里定义?

tre*_*der 3 yii

index.php为我的Yii应用程序提供了一个标准(自动生成的)引导程序文件.它包含:

defined('YII_DEBUG') or define('YII_DEBUG', TRUE);
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL', 3);
Run Code Online (Sandbox Code Playgroud)

当我把这两行:

var_dump(defined('YII_DEBUG'));
var_dump(YII_DEBUG);
Run Code Online (Sandbox Code Playgroud)

在下面这两个Yii常数的定义中,我得到了一个例外行为(两次true).

当我评论第一个代码块(YII_DEBUG定义)的第一行时,我也得到了预期的结果 - false+ Notice: Use of undefined constant YII_DEBUG.

奇怪的事情开始发生,当我留下YII_DEBUG评论的定义,但移动这两var_dumpindex.php并将它们放在我的配置文件的开头.

我期待同样的行为(没有任何改变,YII_DEBUG仍未定义),而是我得true+ false.

发生了什么事?我错过了什么?Yii应用程序生命周期的哪一点YII_DEBUG已经定义了常量

编辑:添加print_r(get_defined_constants(true)['user']);以下两个var_dump确认,YII_DEBUG在第二个方案中定义,在第一个方案中未定义.

Mic*_*iel 5

YII_DEBUGfalseYiiBase.php中设置,由yii.php调用,包含在你的index.php