Se trata del manual de php: http://us.php.net/manual/en/language.constants.syntax.php¿Hay una opción de configuración en PHP para evitar que las constantes indefinidas se interpreten como cadenas?
Si utiliza una constante definida, PHP asume que quiere decir el nombre de la misma constante, al igual que si se llama como una cadena (constante vs "constante") Se producirá un error de nivel E_NOTICE cuando esto ocurra.
Realmente no me gusta este comportamiento. Si no he podido definir una constante requerida, preferiría que el script fallara, por lo que me veo forzado a definirlo. ¿Hay alguna forma de obligar a PHP a bloquear el script si intenta usar una constante indefinida?
Por ejemplo. Ambos scripts hacen lo mismo.
<?php
define('DEBUG',1);
if (DEBUG) echo('Yo!');
?>
y
<?php
if(DEBUG) echo('Yo!');
?>
yo más bien el segundo dado guión y declarar que se trató de utilizar un DEBUG constante indefinida.
El código de error para usar una constante indefinida parece ser 8. – Tgr
Gracias Tgr! Cambié la constante de PHP a E_USER_NOTICE. – powtac
+1 - Mejor respuesta que la mía. Probablemente sea una buena idea configurar solo este error al realizar la depuración, ya que depende de una comprobación de subcadena que puede ser lenta (y puede dar algunos falsos positivos). – Geoff