Capítulo 8. Constantes

PHP define varias constantes y proporciona un mecanismo para definir más en tiempo de ejecución. Las constantes son como las variables, salvo por las dos circunstancias de que las constantes deben ser definidas usando la función define(), y que no pueden ser redefinidas más tarde con otro valor.

Las constantes predefinidas (siempre disponibles) son:

__FILE__

El nombre del archivo de comandos que está siendo interpretado actualmente. Si se usa dentro de un archivo que ha sido incluido o requerido, entonces se da el nombre del archivo incluido, y no el nombre del archivo padre.

__LINE__

El número de línea dentro del archivo que está siendo interpretado en la actualidad. Si se usa dentro de un archivo incluido o requerido, entonces se da la posición dentro del archivo incluido.

PHP_VERSION

La cadena que representa la versión del analizador de PHP en uso en la actualidad; e.g. '3.0.8-dev'.

PHP_OS

El nombre del sistema operativo en el cuál se ejecuta el analizador PHP; e.g. 'Linux'.

TRUE

Valor verdadero.

FALSE

Valor falso.

E_ERROR

Denota un error distinto de un error de interpretación del cual no es posible recuperarse.

E_WARNING

Denota una condición donde PHP reconoce que hay algo erróneo, pero continuará de todas formas; pueden ser capturados por el propio archivo de comandos. Un ejemplo sería una inválida regexp en ereg().

E_PARSE

El interprete encontró sintaxis inválida en el archivo de comandos. La recuperación no es posible.

E_NOTICE

Ocurrió algo que pudo ser o no un error. La ejecución continúa. Los ejemplos incluyen usar una cadena sin comillas como un índice "hash", o acceder a una variable que no ha sido inicializada.

Las constantes E_* se usan típicamente con la función error_reporting() para configurar el nivel de informes de error.

Se pueden definir constantes adicionales usando la función define().

Nótese que son constantes, no macros tipo C; con una constante sólo se pueden representar datos escalares válidos.

Ejemplo 8-1. Definiendo Constantes


<?php
define("CONSTANTE", "Hola mundo.");
echo CONSTANTE; // muestra "Hola mundo."
?>
     

Ejemplo 8-2. Usando __FILE__ y __LINE__


<?php
function report_error($file, $line, $message) {
    echo "Un error occurrió en $file en la línea $line: $message.";
}

report_error(__FILE__,__LINE__, "Algo fue mal!");
?>