diff --git a/language/constants.xml b/language/constants.xml index 60c6e4a69..a5089a424 100644 --- a/language/constants.xml +++ b/language/constants.xml @@ -1,5 +1,5 @@ - + Constantes @@ -283,102 +283,156 @@ echo ANIMALS_DEF[1] . "\n"; // muestra "cat" Constantes mágicas - - Existen varias constantes mágicas que cambian dependiendo de - dónde se utilicen. Por ejemplo, el valor de - __LINE__ depende de la línea en la que se - use en el script. Todas estas constantes "mágicas" se resuelven - en tiempo de compilación, a diferencia de las constantes regulares, - que se resuelven en tiempo de ejecución. - Estas constantes especiales no distinguen entre mayúsculas y minúsculas - y son las siguientes: - - - - Constantes mágicas de PHP - - - - &Name; - &Description; - - - - - __LINE__ - - El número de línea actual del archivo. - - - - __FILE__ - - La ruta completa y el nombre del archivo con los enlaces simbólicos - resueltos. Si se usa dentro de un include, se devuelve el nombre - del archivo incluido. - - - - __DIR__ - - El directorio del archivo. Si se usa dentro de un include, - se devuelve el directorio del archivo incluido. Es equivalente a - dirname(__FILE__). El nombre del directorio - no incluye la barra final a menos que sea el directorio raíz. - - - - __FUNCTION__ - - El nombre de la función, o {closure} para - las funciones anónimas. - - - - __CLASS__ - - El nombre de la clase. El nombre de la clase incluye el espacio de - nombres en el que fue declarada (p. ej. Foo\Bar). - Cuando se usa en un método de trait, __CLASS__ - es el nombre de la clase en la que se utiliza el trait. - - - - __TRAIT__ - - El nombre del trait. El nombre del trait incluye el espacio de - nombres en el que fue declarado (p. ej. Foo\Bar). - - - - __METHOD__ - - El nombre del método de la clase. - - - - __PROPERTY__ - - Solo es válido dentro de un hook - de propiedad. Es igual al nombre de la propiedad. - - - - __NAMESPACE__ - - El nombre del espacio de nombres actual. - - - - ClassName::class - - El nombre completo cualificado de la clase. - - - - -
-
+ + Las constantes mágicas son palabras clave que se sustituyen por información + sobre su propia ubicación en el código fuente: su archivo y su línea, así + como la función, clase, trait, espacio de nombres o hook de propiedad que + las contiene. + A pesar de su nombre, no son constantes reales: + defined y constant no las + reconocen, y una constante del mismo nombre creada con + define no las afecta. No distinguen entre mayúsculas + y minúsculas. + Cuando se usan fuera del contexto correspondiente (p. ej. + __CLASS__ fuera de una clase), se sustituyen por una + cadena vacía. + + + Constantes mágicas de PHP + + + + &Name; + &Description; + + + + + __LINE__ + + El número de la línea en la que está escrita. + + + + __FILE__ + + La ruta completa y el nombre del archivo en el que está escrita, + con los enlaces simbólicos resueltos. + + + + __DIR__ + + El directorio del archivo, equivalente a + dirname(__FILE__). No incluye la barra final + a menos que sea el directorio raíz. + + + + __FUNCTION__ + + El nombre de la función en la que está escrita, incluido su espacio + de nombres (p. ej. Foo\bar). + Dentro de un método, solo el nombre del método. + Para las funciones anónimas, un nombre generado por el motor que + incluye el lugar donde se definió la closure (a partir de PHP 8.4.0; + anteriormente {closure}). + + + + __CLASS__ + + El nombre de la clase en la que está escrita, incluido su espacio + de nombres (p. ej. Foo\Bar). + Dentro de un trait, el nombre de la clase que usa el trait. + Para las clases anónimas, + un nombre generado por el motor. + Para obtener el nombre de la clase sobre la que se llamó a un método, + use + static::class. + + + + __TRAIT__ + + El nombre del trait, incluido su espacio de nombres (p. ej. Foo\Bar). + + + + __METHOD__ + + El nombre de la clase y del método en el que está escrita + (p. ej. Foo\Bar::baz). + Dentro de un trait, se usa el nombre del trait en lugar del nombre + de la clase. + Fuera de un método, es igual que __FUNCTION__. + + + + __PROPERTY__ + + El nombre de la propiedad, cuando se usa dentro de un + hook de propiedad. + Disponible a partir de PHP 8.4.0. + + + + __NAMESPACE__ + + El nombre del espacio de nombres actual. + + + + +
+ + + Uso de las constantes mágicas + +greet(); +echo __NAMESPACE__, "\n"; +]]> + + &example.outputs; + + + + &reftitle.seealso; @@ -386,9 +440,8 @@ echo ANIMALS_DEF[1] . "\n"; // muestra "cat" ::class get_class - get_object_vars - file_exists - function_exists + get_called_class + dirname