これはphpマニュアルからのものです:http://us.php.net/manual/en/language.constants.syntax.php
未定義の定数を使用する場合、PHPは、定数を文字列として呼び出した場合と同じように、定数自体の名前を意味すると想定します(CONSTANTと "CONSTANT")。これが発生すると、レベルE_NOTICEのエラーが発行されます。
私はこの振る舞いが本当に好きではありません。必要な定数を定義できなかった場合は、スクリプトが失敗するため、強制的に定義する必要があります。未定義の定数を使用しようとした場合に、PHPにスクリプトを強制的にクラッシュさせる方法はありますか?
例えば。これらのスクリプトは両方とも同じことをします。
<?php
define('DEBUG',1);
if (DEBUG) echo('Yo!');
?>
と
<?php
if(DEBUG) echo('Yo!');
?>
2番目のスクリプトDIEを使用して、未定義の定数DEBUGを使用しようとしたことを宣言します。