Una constante es un identificador (nombre) para un valor simple. Como el nombre sugiere, este valor no puede variar durante la ejecución del script. Por defecto, una constante distingue mayúsculas y minúsculas. Por convención, los identificadores de constantes siempre se declaran en mayúsculas.
define(nombre,valor[,case_sensitive]);
Adicionalmente hay un tipo de constantes mágicas, que no son necesario declarar y en el fondo no son constantes porque toman el valor adecuado según el caso en el que se les use
Son pocas las constantes incluidas en PHP. Todas con el formato M_x_y
Define constantes en tiempo de ejecución. Se puede acceder a constantes desde cualquier sitio del script sin importar desde donde, es decir se comportan como variables globales.
define('NOMBRE','Kike'); define('NUM3',254); define("PRIMER_NOMBRE",'Juan'); define('N',0.03); define('FLAG',true); define('X',null);
define('CONST','Hola mundo',true); echo CONST; //Hola mundo echo Const; //Hola mundo
Desde PHP 7.0 se permite crear constante de matriz.
define('ANIMAL',array('Perro','Gato','Pollo')); echo ANIMAL[2]; //Pollo
Muchas de estas constantes, sin embargo, son creadas por diferentes extensiones, y sólo estarán presentes si dichas extensiones están disponibles, bien por carga dinámica o porque han sido compiladas.
Todas estas constantes mágicas se resuelven durante la compilación, a diferencia de las constantes normales que lo hacen durante la ejecución.
nombre | descripción |
---|---|
__LINE__ | El número de línea actual en el archivo script. |
__FILE__ | Ruta completa y nombre del fichero con enlaces simbólicos resueltos. Si se usa dentro de un include, devolverá el nombre del archivo incluido. |
__DIR__ | Directorio del archivos. Si se utiliza dentro de un include, devolverá el directorio del archivo incluído. Esta constante es igual que dirname(__FILE__). El nombre del directorio no lleva la barra final a no ser que esté en el directorio root. |
__FUNCTION__ | Nombre de la función. |
__CLASS__ | Nombre de la clase. El nombre de la clase incluye el namespace declarado en (Ej: Foo\Bar). Tenga en cuenta que a partir de PHP 5.4 __CLASS__ también funciona con traits. Cuando es usado en un método trait, __CLASS__ es el nombre de la clase del trait que está siendo usado. |
__TRAIT__ | El nombre del trait. El nombre del trait incluye el espacio de nombres en el que fue declarado (Ej: Foo\Bar). |
__METHOD__ | Nombre del método de la clase. |
__NAMESPACE__ | Nombre del espacio de nombres actual. |
Por ejemplo, el valor de __LINE__ depende de la línea en que se use en el archivo script.
Son ciertas constantes del sistema que tienen valores numéricos de uso comun.
nombre | descripción |
---|---|
M_PI | La constante PI (3.1416...) |
M_PI_2 | La conteste medio PI. |
M_PI_4 | La constante un cuarto de PI. |
M_1_PI | La constante inversa de PI |
M_2_PI | La constante 2/PI |
M_2_SQRTPI | 2/sqrt(M_PI) |
M_E | La constante e. |
M_SQRT2 | La raiz de 2. |
M_SQRT1_2 | La inversa de la raiz de 2 |
M_LOG2E | Logaritmo base 2 de e. |
M_LOG10E | Logaritmo base 10 de e. |
M_LN2 | Logaritmo neperiano al cuadrado |
M_LN10 | Logaritmo neperiano al cuadrado |
Función | Descripción |
---|---|
defined() | Comprueba si una contantes existe. |