yii - "defined(' YII_DEBUG') 或"在 "defined(' YII_DEBUG') 或定义 ('YII_DEBUG' , false);"有什么用?

标签 yii yii2

defined('YII_DEBUG') or define('YII_DEBUG', false);我们正在检查 debug 之前是否已定义的代码行,它将什么也不做,但如果没有,它将设置为 false .

我没有明白我的意思是如果我们想覆盖以前的值以及为什么我们不能简单地做 define('YII_DEBUG', false);如果我们不想使用它,为什么需要检查以前的值?

最佳答案

您可以将其更改为 truefalse只需执行以下操作即可即时访问页面:

define('YII_DEBUG', true);

在这种情况下 defined('YII_DEBUG') or define('YII_DEBUG', false);派上用场它检查是否 YII_DEBUGtruefalse , 如果找到 YII_DEBUG已经设置为 truefalse在其他地方,它不会执行 or部分。

defined('YII_DEBUG') or define('YII_DEBUG', true);相当于
if (!defined('YII_DEBUG')) {
    define('YII_DEBUG', true);
}

所以,你会看到它检查是否 YII_DEBUG已在其他地方定义,如果没有,则设置为 true在这种情况下。

编辑:

要即时调试任何页面,您可以这样做:
if (isset($_GET['debug'])) define('YII_DEBUG', true);

当然,您将不得不更改您的网址,例如:
www.example.com/site/myActionwww.example.com/site/myAction/debug/true并将其从 index.php 中删除

编辑 2:

定义 YII_DEBUG 不是强制性的在 index.php , 它在 Yii 中定义应用程序,您可以在 root yii.php 中找到它文件在 Yii2 的情况下如果是 Yii1它在 framework/YiiBase.php 中定义

关于yii - "defined(' YII_DEBUG') 或"在 "defined(' YII_DEBUG') 或定义 ('YII_DEBUG' , false);"有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33566178/

相关文章:

php - 修改Yii CRUD生成(Gii)表单模板

php - Yii 在 ubuntu 13.04 上创建应用程序错误

php - Yii uuid 模型保存为主键返回 null

yii2 - 如何在 yii2 中连接 3 个表并在 Gridview 中显示然后使排序正常工作

yii2 - 如何在 yii2 高级模板中上传根文件夹中的文件?

php - Yii2 我们可以更改 Assets 目录位置吗?

Php 将字符串连接到 Yii2 生成的字段中

php - Yii 2 如何获取当天的所有数据

php - 尝试运行时出现代码错误 "Class Yii not found"

php - 点击按钮时弹出 Yii