PHP Magische Konstanten
PHP stellt jedem Skript, das es ausführt, eine große Anzahl vordefinierter Konstanten zur Verfügung.
Viele Konstanten werden jedoch von verschiedenen Erweiterungsbibliotheken definiert und erscheinen erst, wenn diese Bibliotheken geladen sind – entweder nach dem dynamischen Laden oder wenn sie bereits zur Kompilierungszeit eingebunden wurden.
Es gibt acht magische Konstanten, deren Werte sich je nach ihrer Position im Code ändern.
Zum Beispiel hängt der Wert von __LINE__ von der Zeile im Skript ab, in der er verwendet wird. Diese speziellen Konstanten sind unabhängig von der Groß-/Kleinschreibung, wie folgt:
__LINE__
Die aktuelle Zeilennummer in der Datei.
Beispiele
Die Ausgabe des obigen Beispiels ist:
这是第 “ 2 ” 行
__FILE__
Der vollständige Pfad und Dateiname der Datei. Wenn sie innerhalb einer eingebundenen Datei verwendet wird, wird der Name der eingebundenen Datei zurückgegeben.
Seit PHP 4.0.2 enthält __FILE__ immer einen absoluten Pfad (wenn es sich um einen symbolischen Link handelt, ist es der aufgelöste absolute Pfad), während es in Versionen davor manchmal einen relativen Pfad enthielt.
Beispiel:
Beispiele
Die Ausgabe des obigen Beispiels ist:
该文件位于 “ E:\wamp\www\test\index.php ”
__DIR__
Das Verzeichnis der Datei. Wenn sie in einer eingebundenen Datei verwendet wird, wird das Verzeichnis der eingebundenen Datei zurückgegeben.
Es ist äquivalent zu dirname(__FILE__). Sofern es sich nicht um das Stammverzeichnis handelt, enthält der Name keinen abschließenden Schrägstrich. (Hinzugefügt in PHP 5.3.0)
Beispiele
Die Ausgabe des obigen Beispiels ist:
该文件位于 “ E:\wamp\www\test ”
__FUNCTION__
Der Funktionsname (hinzugefügt in PHP 4.3.0). Ab PHP 5 gibt diese Konstante den Namen der Funktion zurück, wie sie definiert wurde (Groß-/Kleinschreibung wird unterschieden). In PHP 4 war der Wert immer in Kleinbuchstaben.
Beispiele
Die Ausgabe des obigen Beispiels ist:
函数名为:test
__CLASS__
Der Klassenname (hinzugefügt in PHP 4.3.0). Ab PHP 5 gibt diese Konstante den Namen der Klasse zurück, wie sie definiert wurde (Groß-/Kleinschreibung wird beachtet).
In PHP 4 war der Wert immer kleingeschrieben. Der Klassenname enthält seinen deklarierten Gültigkeitsbereich (z. B. Foo\Bar). Beachten Sie, dass __CLASS__ ab PHP 5.4 auch mit Traits funktioniert. Wenn es in einer Trait-Methode verwendet wird, ist __CLASS__ der Name der Klasse, die die Trait-Methode aufruft.
Beispiele
Die Ausgabe des obigen Beispiels ist:
类名为:test 函数名为:_print
__TRAIT__
Der Name des Traits (hinzugefügt in PHP 5.4.0). Ab PHP 5.4.0 implementiert PHP eine Methode zur Wiederverwendung von Code namens Traits.
Der Trait-Name umfasst seinen deklarierten Geltungsbereich (z. B. Foo\\Bar).
Von der Basisklasse geerbte Member werden durch die aus dem SayWorld-Trait eingefügte MyHelloWorld-Methode überschrieben. Ihr Verhalten entspricht der in der MyHelloWorld-Klasse definierten Methode. Die Prioritätsreihenfolge ist, dass Methoden in der aktuellen Klasse Trait-Methoden überschreiben und Trait-Methoden Methoden in der Basisklasse überschreiben.
Beispiele
Das obige Beispiel gibt Folgendes aus:
Hello World!
__METHOD__
Der Methodenname der Klasse (hinzugefügt in PHP 5.0.0). Gibt den Namen der Methode zurück, wie er definiert wurde (Groß-/Kleinschreibung wird beachtet).
Beispiel:
Beispiele
Die Ausgabe des obigen Beispiels ist:
函数名为:test
__NAMESPACE__
Der Name des aktuellen Namespace (Groß-/Kleinschreibung beachtend). Diese Konstante wird zur Kompilierzeit definiert (hinzugefügt in PHP 5.3.0).
Beispiel:
Beispiele
Die Ausgabe des obigen Beispiels ist:
命名空间为:"MyProject"Andere Erweiterungen