代码之家  ›  专栏  ›  技术社区  ›  trejder tvCa

YI_DEBUG的确切定义是什么?

yii
  •  3
  • trejder tvCa  · 技术社区  · 10 年前

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

    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 来自的行 索引php 并将它们放在配置文件的开头。

    我期待着同样的行为(什么都没有改变, YII_DEBUG(调试) 仍然未定义),但我得到 真的 + 假的 .

    发生了什么?我错过了什么? 在Yii应用程序生命周期的哪个点 YII_DEBUG(调试) 常量已定义 ?

    编辑 : 添加 print_r(get_defined_constants(true)['user']); 低于这两个 变量_泵 确认 YII_DEBUG(调试) 在第二个场景中定义,在第一个场景中未定义 .

    1 回复  |  直到 10 年前
        1
  •  5
  •   Michiel    10 年前

    YII_DEBUG 设置为 false 在里面 YiiBase.php ,由调用 yii.php ,包含在您的 index.php