Это из руководства по php: http://us.php.net/manual/en/language.constants.syntax.php
Если вы используете неопределенную константу, PHP предполагает, что вы имеете в виду имя самой константы, как если бы вы называли ее как строку (CONSTANT vs "CONSTANT"). В этом случае будет выдана ошибка уровня E_NOTICE.
Мне действительно не нравится это поведение. Если мне не удалось определить требуемую константу, я бы предпочел, чтобы сценарий не выполнялся, поэтому я вынужден определить его. Есть ли способ заставить PHP аварийно завершить работу сценария, если он пытается использовать неопределенную константу?
Например. Оба этих скрипта делают одно и то же.
<?php
define('DEBUG',1);
if (DEBUG) echo('Yo!');
?>
и
<?php
if(DEBUG) echo('Yo!');
?>
Я бы предпочел второй сценарий DIE и объявил, что он пытался использовать неопределенную константу DEBUG.