Heim > Artikel > Backend-Entwicklung > Verständnis und Anwendung relevanter Kenntnisse über magische PHP-Variablen
Magische PHP-Variablen spielen in PHP eine wichtige Rolle. In diesem Artikel werden sie ausführlich erläutert.
PHP stellt jedem ausgeführten Skript eine große Anzahl vordefinierter Konstanten zur Verfügung.
Viele Konstanten werden jedoch von verschiedenen Erweiterungsbibliotheken definiert und erscheinen nur, wenn diese Erweiterungsbibliotheken geladen werden, oder nach dem dynamischen Laden, oder wenn sie während der Kompilierung eingebunden wurden.
Es gibt acht magische Konstanten, deren Werte sich je nach Position im Code ändern.
Zum Beispiel hängt der Wert von __LINE__ von der Zeile ab, in der es sich im Skript befindet. Diese speziellen Konstanten unterscheiden nicht zwischen Groß- und Kleinschreibung und lauten wie folgt:
__LINE__
Die aktuelle Zeilennummer in der Datei.
Beispiel
9f64b4ffaa5eda79a1044e395ef2922c
Das Ausgabeergebnis des obigen Beispiels ist:
Dies ist der vollständige Pfad und Dateiname der Datei in Zeile „2“
__FILE__
. Bei Verwendung innerhalb einer eingebundenen Datei wird der Name der eingebundenen Datei zurückgegeben.
Seit PHP 4.0.2 enthält __FILE__ immer einen absoluten Pfad (oder den aufgelösten absoluten Pfad im Fall eines symbolischen Links), während Versionen davor manchmal einen relativen Pfad enthielten.
Instanz:
Instanz
e2cc2a81032abd12f3bd9397ca0d6250
Die obige Beispielausgabe Das Ergebnis ist:
Die Datei befindet sich in dem Verzeichnis, in dem sich die Datei „E:wampwwwtestindex.php“
__DIR__
befindet. Bei Verwendung innerhalb einer eingebundenen Datei wird das Verzeichnis zurückgegeben, in dem sich die eingebundene Datei befindet.
Es entspricht dirname(__FILE__). Verzeichnisnamen enthalten keinen abschließenden Schrägstrich, es sei denn, es handelt sich um das Stammverzeichnis. (Neu in PHP 5.3.0)
Beispiel
ca5e75a8c92cfc24141067605fb66f0d
Oben Beispiel Die Ausgabe lautet:
Die Datei befindet sich unter „E:wampwwwtest“
__FUNCTION__
Funktionsname (neu hinzugefügt in PHP 4.3.0). Seit PHP 5 gibt diese Konstante den Namen der Funktion zurück, wie er definiert wurde (Groß-/Kleinschreibung beachten). In PHP 4 ist dieser Wert immer kleingeschrieben.
Instanz
<?phpfunction test() { echo '函数名为:' . __FUNCTION__ ;}test();?>
Das Ausgabeergebnis des obigen Beispiels ist:
Der Funktionsname ist: test
__CLASS__
Der Name der Klasse (Neu in PHP 4.3.0). Seit PHP 5 gibt diese Konstante den Namen der Klasse zurück, als sie definiert wurde (Groß-/Kleinschreibung beachten).
In PHP 4 ist dieser Wert immer kleingeschrieben. Der Klassenname enthält den Bereich, in dem er deklariert ist (z. B. FooBar). Beachten Sie, dass __CLASS__ seit PHP 5.4 auch für Merkmale funktioniert. Bei Verwendung innerhalb einer Trait-Methode ist __CLASS__ der Name der Klasse, die die Trait-Methode aufruft.
Instanz
<?phpclass test { function _print() { echo '类名为:' . __CLASS__ . "<br>"; echo '函数名为:' . __FUNCTION__ ; }}$t = new test();$t->_print();?>
Das Ausgabeergebnis des obigen Beispiels ist:
Klassenname: test Funktionsname: _print
__TRAIT__
Eigenschaftsname (neu in PHP 5.4.0). Seit PHP 5.4.0 implementiert PHP eine Methode zur Code-Wiederverwendung namens Traits.
Der Merkmalsname enthält den Bereich, in dem er deklariert ist (z. B. FooBar).
Von der Basisklasse geerbte Mitglieder werden von der MyHelloWorld-Methode im eingefügten SayWorld-Merkmal überschrieben. Sein Verhalten stimmt mit den in der MyHelloWorld-Klasse definierten Methoden überein. Die Rangfolge besteht darin, dass Methoden in der aktuellen Klasse Merkmalsmethoden überschreiben, die wiederum Methoden in der Basisklasse überschreiben.
Instanz
<?phpclass Base { public function sayHello() { echo 'Hello '; }} trait SayWorld { public function sayHello() { parent::sayHello(); echo 'World!'; }} class MyHelloWorld extends Base { use SayWorld;} $o = new MyHelloWorld();$o->sayHello();?>
Die obige Routine gibt Folgendes aus:
Hallo Welt!
__METHOD__
Der Methodenname der Klasse (Neu in PHP 5.0.0). Gibt den Namen der Methode so zurück, wie er definiert wurde (Groß-/Kleinschreibung beachten).
Instanz
<?phpfunction test() { echo '函数名为:' . __METHOD__ ;}test();?>
Das Ausgabeergebnis des obigen Beispiels ist:
Funktionsname: test
__NAMESPACE__
Aktuell Namespace-Name (Groß-/Kleinschreibung beachten). Diese Konstante wird zur Kompilierungszeit definiert (neu in PHP 5.3.0).
Instanz:
Instanz
<?phpnamespace MyProject; echo '命名空间为:"', __NAMESPACE__, '"'; // 输出 "MyProject"?>
Das Ausgabeergebnis des obigen Beispiels ist:
Der Namespace ist: „MyProject“
Dieser Artikel bietet ein detailliertes Verständnis der magischen Variablen von PHP. Weitere Lernmaterialien finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
Was sind die Unterschiede zwischen PHP-Magic-Variablen __METHOD__ und __FUNCTION__
PHP-Magic-Variablen und Magic-Funktionsbeispiele Zusammenfassung von Tutorials
Das obige ist der detaillierte Inhalt vonVerständnis und Anwendung relevanter Kenntnisse über magische PHP-Variablen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!