diff --git a/language/constants.xml b/language/constants.xml index 747b3ee453..7d1d2353f7 100644 --- a/language/constants.xml +++ b/language/constants.xml @@ -1,6 +1,5 @@ - - + Les constantes @@ -287,103 +286,157 @@ echo ANIMALS_DEF[1] . "\n"; // affiche "chat" Constantes magiques - - Il y a quelques constantes magiques qui changent suivant l'emplacement où - elles sont utilisées. - Par exemple, la valeur de __LINE__ dépend - de la ligne où elle est utilisée dans le script. - Toutes ces constantes "magiques" sont évaluées au moment de la compilation, - contrairement aux constantes classiques, qui sont évaluées au moment de - l'exécution. - Ces constantes spéciales sont insensibles à la casse et sont les suivantes : - - - - Les constantes magiques de PHP - - - - &Name; - &Description; - - - - - __LINE__ - - La ligne courante dans le fichier. - - - - __FILE__ - - Le chemin complet et le nom du fichier courant avec les - liens symboliques résolus. Si utilisé pour une - inclusion, le nom du fichier inclus est retourné. - - - - __DIR__ - - Le dossier du fichier. Si utilisé dans une inclusion, le dossier - du fichier inclus sera retourné. C'est l'équivalent de - dirname(__FILE__). Ce nom de dossier ne contiendra pas - de slash final, sauf si c'est le dossier racine. - - - - __FUNCTION__ - - Le nom de la fonction, ou {closure} pour les fonctions anonymes. - - - - __CLASS__ - - Le nom de la classe courante. Le nom de la - classe contient l'espace de noms dans lequel cette classe - a été déclarée (c.-à-d. Foo\Bar). - Lorsqu'elle est utilisée dans une méthode de trait, - __CLASS__ est le nom de la classe dans laquelle le trait est utilisé. - - - - __TRAIT__ - - Le nom du trait. Le nom du trait inclut l'espace de noms - dans lequel il a été déclaré (par exemple Foo\Bar). - - - - __METHOD__ - - Le nom de la méthode courante. - - - - __PROPERTY__ - - Valide uniquement à l'intérieur d'un - hook de propriété. - Il est égal au nom de la propriété. - - - - __NAMESPACE__ - - Le nom de l'espace de noms courant. - - - - ClassName::class - - Le nom entièrement qualifié de la classe. - - - - -
-
+ + Les constantes magiques sont des mots-clés qui sont remplacés par des + informations sur leur propre emplacement dans le code source : leur + fichier et leur ligne, ainsi que la fonction, la classe, le trait, + l'espace de noms ou le hook de propriété qui les entourent. + Malgré leur nom, ce ne sont pas de vraies constantes : + defined et constant ne les + reconnaissent pas, et une constante du même nom créée avec + define n'a aucun effet sur elles. Elles sont + insensibles à la casse. Lorsqu'elles sont utilisées en dehors du + contexte auquel elles se rapportent (par exemple + __CLASS__ en dehors d'une classe), elles sont + remplacées par une chaîne vide. + + + Les constantes magiques de PHP + + + + &Name; + &Description; + + + + + __LINE__ + + La ligne sur laquelle elle est écrite. + + + + __FILE__ + + Le chemin complet et le nom du fichier dans lequel elle est écrite, + avec les liens symboliques résolus. + + + + __DIR__ + + Le dossier du fichier, équivalent à + dirname(__FILE__). Il ne contient pas de slash + final, sauf s'il s'agit du dossier racine. + + + + __FUNCTION__ + + Le nom de la fonction dans laquelle elle est écrite, incluant son + espace de noms (par exemple Foo\bar). + À l'intérieur d'une méthode, seul le nom de la méthode. + Pour les fonctions anonymes, un nom généré par le moteur qui inclut + l'endroit où la fermeture a été définie (à partir de PHP 8.4.0 ; + auparavant {closure}). + + + + __CLASS__ + + Le nom de la classe dans laquelle elle est écrite, incluant son + espace de noms (par exemple Foo\Bar). + À l'intérieur d'un trait, le nom de la classe qui utilise le trait. + Pour les classes + anonymes, un nom généré par le moteur. + Pour obtenir le nom de la classe sur laquelle une méthode a été + appelée, utiliser + static::class. + + + + __TRAIT__ + + Le nom du trait, incluant son espace de noms (par exemple + Foo\Bar). + + + + __METHOD__ + + Le nom de la classe et de la méthode dans laquelle elle est écrite + (par exemple Foo\Bar::baz). + À l'intérieur d'un trait, le nom du trait est utilisé à la place du + nom de la classe. + En dehors d'une méthode, identique à __FUNCTION__. + + + + __PROPERTY__ + + Le nom de la propriété, lorsqu'elle est utilisée à l'intérieur d'un + hook de propriété. + À partir de PHP 8.4.0. + + + + __NAMESPACE__ + + Le nom de l'espace de noms courant. + + + + +
+ + + Utilisation des constantes magiques + +greet(); +echo __NAMESPACE__, "\n"; +]]> + + &example.outputs; + + + + &reftitle.seealso; @@ -391,9 +444,8 @@ echo ANIMALS_DEF[1] . "\n"; // affiche "chat" ::class get_class - get_object_vars - file_exists - function_exists + get_called_class + dirname