PHP stellt jedem Skript zur Laufzeit eine Vielzahl von vordefinierten Konstanten zur Verfügung. Viele dieser Konstanten werden jedoch von verschiedenen Erweiterungen definiert, die nur zur Verfügung stehen, wenn diese Erweiterungen selbst zur Verfügung stehen, d.h. entweder über dynamisches Laden zur Laufzeit oder Einkompilieren.
Es gibt sieben 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 ihres Skripts Sie diese Konstante verwenden. 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. Wird diese Konstante
innerhalb einer nachgeladenen Datei verwendet, wird der Name
dieser eingebundenen Datei zurückgegeben.
Seit PHP 4.0.2 enthält __FILE__ immer einen
absoluten Pfad mit aufgelösten Symlinks, während in älteren Versionen unter
Umständen ein relativer Pfad enthalten sein kann.
|
__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. (Hinzugefügt in PHP 5.3.0) |
__FUNCTION__ |
Der Name der Funktion. (Hinzugefügt in PHP 4.3.0.) Mit PHP 5 enthält diese Konstante den Namen der Funktion, wie dieser deklariert wurde (Beachtung der Groß- und Kleinschreibung). In PHP 4 wird der Wert immer in Kleinschrift ausgegeben. |
__CLASS__ |
Der Name einer Klasse. (Hinzugefügt in PHP 4.3.0.) Mit PHP 5 enthält diese Konstante den Namen der Klasse, wie dieser deklariert wurde (Beachtung der Groß- und Kleinschreibung). In PHP 4 wird der Wert immer in Kleinschrift ausgegeben. Der Klassenname enthält auch den Namen des Namespaces in dem er deklariert wurde (z.B. Foo\Bar). __CLASS__ kann seit PHP 5.4 auch in Traits verwendet werden, in welchem Fall Name der Klasse welche den Trait verwendet zurückgegeben wird. |
__TRAIT__ |
Der Trait Name, wie er definiert wurde (unter Beachtung der Groß- und Kleinschreibung). (Hinzugefügt in PHP 5.4.0) Enthält auch den Namespace in welchem der Trait definiert wurde (z.B. Foo\Bar). |
__METHOD__ |
Der Name einer Klassenmethode. (Hinzugefügt in PHP 5.0.0.) Der Methodenname wird genauso zurückgegeben, wie er deklariert wurde (Beachtung der Groß- und Kleinschreibung). |
__NAMESPACE__ |
Der Name des aktuellen Namespace (Beachtung der Groß- und Kleinschreibung). Diese Konstante wird zum Kompilierungszeitpunkt definiert. (Hinzugefügt in PHP 5.3.0) |
Siehe auch get_class(), get_object_vars(), file_exists() und function_exists().