PHP fournit un grand nombre de constantes magiques. Certaines constantes sont définies par différentes extensions, et ne seront présentes que si ces extensions sont compilées avec PHP, ou bien si l'extension a été chargée dynamiquement.
Il y a huit constantes magiques qui changent suivant l'emplacement où
elles sont utilisées.
Par exemple, la valeur de __LINE__
dépend
de la ligne où vous l'utilisez dans votre script.
Ces constantes spéciales sont insensibles à la casse.
Nom | Description |
---|---|
__LINE__ |
La ligne courante dans le fichier. |
__FILE__ |
Le chemin complet et le nom du fichier courant. Si utilisé pour une
inclusion, le nom du fichier inclus est retourné.
__FILE__ contient toujours le chemin absolu
pour les liens symboliques.
|
__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. (Ajouté en PHP 5.3.0.) |
__FUNCTION__ |
Le nom de la fonction. Cette constante retourne le nom de la fonction comme il a été déclaré (sensible à la casse). |
__CLASS__ |
Le nom de la classe courante. Cette constante retourne le nom de la classe comme il a été déclaré (sensible à la casse). Le nom de la classe contient l'espace de nom dans lequel cette classe a été déclarée (i.e. Foo\Bar). Notez que depuis PHP 5.4, __CLASS__ fonctionne aussi en Traits. Lorsqu'une méthode Trait est utilisée, __CLASS__ est le nom de la classe que Trait utilise en interne. |
__TRAIT__ |
Le nom Trait (Ajouté en PHP 5.4.0). Depuis PHP 5.4, cette constante retourne le Trait comme il a été déclaré (sensible à la casse). Le nom Trait inclut l'espace de nom dans lequel il a été déclaré (e.g. Foo\Bar). |
__METHOD__ |
Le nom de la méthode courante. Le nom de la méthode est retourné comme il a été déclaré (sensible à la casse). |
__NAMESPACE__ |
Le nom de l'espace de noms courant (sensible à la casse). Cette constante est définie au moment de la compilation (Ajouté en PHP 5.3.0). |
Voir aussi get_class(), get_object_vars(), file_exists() et function_exists().