У меня есть стандартный (сгенерированный авто) index.php
загрузочный файл для моего приложения Yii. Он содержит:Где именно определяется YII_DEBUG?
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
определяется во втором сценарии, и не определено в первом одном.