在 defined('YII_DEBUG') or define('YII_DEBUG', false);
我们正在检查 debug 之前是否已定义的代码行,它将什么也不做,但如果没有,它将设置为 false
.
我没有明白我的意思是如果我们想覆盖以前的值以及为什么我们不能简单地做 define('YII_DEBUG', false);
如果我们不想使用它,为什么需要检查以前的值?
最佳答案
您可以将其更改为 true
或 false
只需执行以下操作即可即时访问页面:
define('YII_DEBUG', true);
在这种情况下
defined('YII_DEBUG') or define('YII_DEBUG', false);
派上用场它检查是否 YII_DEBUG
是 true
或 false
, 如果找到 YII_DEBUG
已经设置为 true
或 false
在其他地方,它不会执行 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/myAction
至 www.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/