Неопределенные константы обрабатываются PHP как строки: docs .Принимая этот факт, обдумайте это на английском языке:
If "WHATEVER_THIS_ISNT_DEFINED", then do something.
... логично, что это «правда» - вы не сравниваете ничего с чем-либо еще.
ЭтоВот почему при выполнении if
утверждений рекомендуется включать конкретную оценку.Если вы проверяете на ложность, введите код: if (something === false)
против if (something)
.Если вы проверяете, установлен ли он, используйте isset
и т. Д.
Кроме того, это подчеркивает важность разработки с включенными уведомлениями и предупреждениями.Ваш сервер выдаст уведомление об этой проблеме:
Примечание: использование неопределенной константы MY_CONST - предполагается, что 'MY_CONST' в some_script.php в строке 5
Включить уведомленияи предупреждения для разработки, отключить их для производства.Могу только помочь!