Variables magiques
Les variables magiques font référence à celles qui ont des valeurs différentes selon différents environnements
Par exemple,
__FILE__
est une variable magique typique .Quand il apparaît dans le fichier a.php, sa valeur est le chemin spécifique de a.php. Lorsqu'il apparaît dans le fichier b.php, c'est le chemin spécifique de b.php
. include __FUNCTION__, __CLASS__
En bref, les valeurs de ces variables ne sont souvent pas fixes, mais changent, très magiques, comme par magie, elles sont donc appelées variables magiques
Les variables magiques incluent :
__LINE__ Le numéro de ligne actuel dans le fichier.
__FILE__ Le chemin complet et le nom du fichier. S'il est utilisé dans un fichier inclus, renvoie le nom du fichier inclus. Depuis PHP 4.0.2, __FILE__ contient toujours un chemin absolu (ou le chemin absolu résolu dans le cas d'un lien symbolique), alors que les versions antérieures contenaient parfois un chemin relatif.
__DIR__ Le répertoire où se trouve le fichier. S'il est utilisé dans un fichier inclus, renvoie le répertoire où se trouve le fichier inclus. C'est équivalent à dirname(__FILE__). Les noms de répertoire n'incluent pas la barre oblique finale, sauf s'il s'agit du répertoire racine. (Nouveau en PHP 5.3.0) =
__FUNCTION__ Nom de la fonction (Nouveau en PHP 4.3.0). Depuis PHP 5, cette constante renvoie le nom de la fonction telle qu'elle a été définie (sensible à la casse). En PHP 4, cette valeur est toujours en minuscule.
__CLASS__ Le nom de la classe (nouveau en PHP 4.3.0). Depuis PHP 5, cette constante renvoie le nom de la classe lors de sa définition (sensible à la casse). En PHP 4, cette valeur est toujours en minuscule.
__METHOD__ Le nom de la méthode de la classe (récemment ajouté dans PHP 5.0.0). Renvoie le nom de la méthode telle qu'elle a été définie (sensible à la casse).
__NAMESPACE__ Le nom de l'espace de noms actuel (sensible à la casse). Cette constante est définie au moment de la compilation. __TRAIT__ Trait est une nouvelle fonctionnalité de PHP5.4 et est une solution à l'héritage multiple PHP. Par exemple, il serait très gênant d'hériter de deux classes abstraites en même temps. Trait est conçu pour résoudre ce problème.