我的Yii应用程序有一个标准(自动生成的)index.php
引导程序文件。它包含:
defined('YII_DEBUG') or define('YII_DEBUG', TRUE);
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL', 3);
当我把这两行:
var_dump(defined('YII_DEBUG'));
var_dump(YII_DEBUG);
在这两个Yii常数的定义下,我得到了例外行为(两次true
)。
当我评论第一个代码块的第一行(YII_DEBUG
定义)时,我也得到了预期的结果 - false
+ Notice: Use of undefined constant YII_DEBUG
。
当我留下YII_DEBUG
的定义时,奇怪的事情开始发生,但是从var_dump
移动这两行index.php
并将它们放在配置文件的开头。
我期待同样的行为(没有任何变化,YII_DEBUG
仍未定义),而是我得到true
+ false
。
发生了什么事?我错过了什么? Yii应用程序生命周期的哪一点YII_DEBUG
常量已定义?
编辑:在这两个print_r(get_defined_constants(true)['user']);
下面添加var_dump
确认,YII_DEBUG
在第二个方案中定义,在第一个方案中未定义