Ceci est le manuel php: http://us.php.net/manual/en/language.constants.syntax.phpExiste-t-il une option de configuration en PHP pour éviter que les constantes non définies soient interprétées comme des chaînes?
Si vous utilisez une constante non définie, PHP suppose que vous voulez dire le nom de la constante elle-même, comme si vous l'avez appelé comme une chaîne (CONSTANT vs « CONSTANT »). Une erreur de niveau E_NOTICE sera émise lorsque cela se produit.
Je n'aime vraiment pas ce comportement. Si je n'ai pas réussi à définir une constante requise, je préférerais que le script échoue pour que je sois forcé de le définir. Est-il possible de forcer PHP à planter le script s'il essaye d'utiliser une constante indéfinie?
Par exemple. Ces deux scripts font la même chose.
<?php
define('DEBUG',1);
if (DEBUG) echo('Yo!');
?>
et
<?php
if(DEBUG) echo('Yo!');
?>
Je préfère le second script DIE et déclarer qu'il a essayé d'utiliser une constante DEBUG non définie.
Le code d'erreur pour l'utilisation d'une constante indéfinie semble être 8. – Tgr
Thanks Tgr! J'ai changé la constante PHP en E_USER_NOTICE. – powtac
+1 - Meilleure réponse que la mienne. Probablement une bonne idée de définir uniquement cette erreur lors du déboguage car elle dépend d'une vérification de sous-chaîne qui peut être lente (et peut donner des faux positifs). – Geoff