yii - YII_DEBUG 到底在哪里定义?

标签 yii

我的 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 + 注意:使用未定义常量 YII_DEBUG.

奇怪的事情开始发生,当我离开 YII_DEBUG 注释的定义,但是从 index.php 移动这两行 var_dump 并把它们在我的配置文件的开头。

我期望的是完全相同的行为(没有任何改变,YII_DEBUG 仍然未定义),但我得到的是 true + false

发生了什么事?我缺少什么? YII_DEBUG 常量在 Yii 应用程序生命周期的哪个点被定义

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

最佳答案

YII_DEBUGYiiBase.php 中设置为 false , 由 yii.php 调用,它包含在您的 index.php

关于yii - YII_DEBUG 到底在哪里定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22830900/

相关文章:

performance - Joomla与CodeIgniter/YII

yii - 在 YIi 中建立关系时的条件

yii - 如何让 Yii CListView 显示 WYSIWYG 格式的文本?

java - PHP 图片上传中途失败。已上传半张图片

php - Yii - 从 URL 中删除模块的默认 Controller ID

apache - 如何从 Apache/Centos 中的 Yii URL 中删除 index.php?

jquery - yii 制作时尚的链接按钮

php - CGridView 中另一个模型的 CButtonColumn

php - 如何在 YII 中使用 ajaxvalidation 实现弹出登录表单?

php - 在 Yii : how? 中使用 CArrayDataProvider 过滤 CGridView