Es gibt neun magische Konstanten, die, abhängig davon, wo sie eingesetzt werden, einen unterschiedlichen Wert haben. Zum Beispiel hängt der Wert der Konstanten __LINE__
davon ab, in welcher Zeile des Skripts diese Konstante verwendet wird. Alle diese "magischen" Konstanten werden während der Kompilierzeit aufgelöst, im Gegensatz zu regulären Konstanten, die während der Laufzeit aufgelöst werden. Diese besonderen Konstanten sind unabhängig von Groß-/Kleinschreibung und sind folgende:
Name | Beschreibung |
---|---|
__LINE__ | Die aktuelle Zeilennummer einer Datei. |
__FILE__ | Der vollständige Pfad- und Dateiname einer Datei mit aufgelösten Symlinks. Wird diese Konstante innerhalb einer nachgeladenen Datei verwendet, wird der Name dieser eingebundenen Datei zurückgegeben. |
__DIR__ | Der Name des Verzeichnisses, in dem sich die Datei befindet. Wird die Konstante innerhalb eines Includes verwendet, wird das Verzeichnis der eingebundenen Datei zurückgegeben. Dies entspricht dem Verhalten von dirname(__FILE__) . Der Verzeichnisname hat keinen beendenden Schrägstrich, sofern es sich nicht um das Rootverzeichnis handelt. |
__FUNCTION__ | Der Name der Funktion, oder {closure} für anonyme Funktionen. |
__CLASS__ | Der Name einer Klasse. Der Klassenname enthält den Namen des Namensraums, in dem sie deklariert wurde (z. B. Foo\Bar ). Bei Verwendung in einer Trait-Methode, ist __CLASS__ der Name der Klasse, in der der Trait verwendet wird. |
__TRAIT__ | Der Name eines Traits. Dieser enthält auch den Namensraum, in welchem der Trait definiert wurde (z. B. Foo\Bar ). |
__METHOD__ | Der Name der Klassenmethode. |
__NAMESPACE__ | Der Name des aktuellen Namensraums. |
ClassName::class | Der vollständig qualifizierte Klassenname. |