PHP ofrece un largo número de constantes predefinidas a cualquier script en ejecucción. 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.
Hay ocho constantes predefinidas que cambian dependiendo de donde son usadas.
Por ejemplo el valor de __LINE__
depende en la línea que
se use en el script. Estas constantes especiales son sensibles a mayúsculas
y son las siguientes:
Nombre | Descripción |
---|---|
__LINE__ |
Línea actual en el fichero. |
__FILE__ |
Ruta completa y nombre del fichero. Si se usa dentro de un include,
devolverá el nombre del fichero del include.
Desde PHP 4.0.2, __FILE__ siempre contiene la
ruta absoluta con symlinks resueltos, en otras versiones contenía
la ruta relativa según las circunstancias.
|
__DIR__ |
Directorio del fichero. Si se utiliza dentro de un include, devolverá el directorio del fichero incluído. Esta constante es igual que dirname(__FILE__). El nombre del directorio no lleva la barra inicial a no ser que esté en el directorio root. (Fue añadida en PHP 5.3.0) |
__FUNCTION__ |
Nombre de la función. (Añadida en PHP 4.3.0) Desde PHP 5 esta constante devuelve el nombre de la función donde fue declarada (sensible a mayúsculas). En PHP 4 su valor siempre es en minúsculas. |
__CLASS__ |
Nombre de la clase. (Añadida en PHP 4.3.0) Desde PHP 5 esta constante devuelve el nombre de la clase donde fue declarada (sensible a mayúsculas). En PHP 4 su valor siempre es en minúsculas. El nombre de la clase incluye el namespace declarado en (p.e.j. 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 utilizado. |
__TRAIT__ |
El nombre de el trait. (Añadido en PHP 5.4.0) A partir de PHP 5.4 esta constante devuelve el trait que fué declarado (sensible a mayúsculas y minúsculas). El nombre de el trait incluye el namespace si alguno fué declarado en (p.e.j. Foo\Bar). |
__METHOD__ |
Nombre del método de la clase. (Añadida en PHP 5.0.0.) Nombre del método devuelto donde fue declarada. (sensible a mayúsculas). |
__NAMESPACE__ |
Nombre del espacio de nombres actual (sensible a mayúsculas). Esta constante se define en tiempo de compilación (Añadida en PHP 5.3.0) El nombre del namespace actual (sensible a mayúsculas). |
Véase también get_class(), get_object_vars(), file_exists() y function_exists().