Heim  >  Artikel  >  Backend-Entwicklung  >  Was bedeutet PHP-Magie?

Was bedeutet PHP-Magie?

藏色散人
藏色散人Original
2021-03-11 10:18:572084Durchsuche

Magie hat in PHP zwei Bedeutungen: 1. Bezieht sich auf magische Methoden, die mit zwei Unterstrichen beginnen. 2. Bezieht sich auf magische Konstanten, die PHP für jedes ausgeführte Skript bereitstellt vordefinierte Konstanten.

Was bedeutet PHP-Magie?

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Magische Methode

PHP reserviert alle Klassenmethoden, die mit __ (zwei Unterstriche) beginnen, als magische Methoden. Daher wird beim Definieren von Klassenmethoden mit Ausnahme der oben genannten magischen Methoden empfohlen, ihnen kein __ voranzustellen.

__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __serialize(), __unserialize(), Methoden wie __toString(), __invoke(), __set_state(), __clone() und __debugInfo() werden in PHP als magische Methoden bezeichnet. Sie können diese Methodennamen nicht verwenden, wenn Sie Ihre eigenen Klassenmethoden benennen, es sei denn, Sie möchten deren magische Funktionalität nutzen.

Hinweis: Alle magischen Methoden müssen als öffentlich deklariert werden.

Magische Konstanten

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, entweder dynamisch geladen oder zur Kompilierzeit eingebunden.

Es gibt acht magische Konstanten, deren Werte sich je nach Position im Code ändern. Beispielsweise hängt der Wert von __LINE__ von der Zeile im Skript ab, in der er sich befindet. Bei diesen speziellen Konstanten wird die Groß-/Kleinschreibung nicht beachtet, wie folgt:

Mehrere „magische PHP-Konstanten“

__LINE__: Die aktuelle Zeilennummer in der Datei.

__FILE__: Der vollständige Pfad und Dateiname der Datei. Bei Verwendung innerhalb einer eingebundenen Datei wird der Name der eingebundenen Datei zurückgegeben.

__DIR__: Das Verzeichnis, in dem sich die Datei 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.

__FUNCTION__: Der Name der aktuellen Funktion. Eine anonyme Funktion ist {closure}.

__CLASS__: Der Name der aktuellen Klasse. 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.

__TRAIT__: Der Name von Trait. Der Merkmalsname enthält den Bereich, in dem er deklariert ist (z. B. FooBar).

__METHOD__: Der Methodenname der Klasse.

__NAMESPACE__: Der Name des aktuellen Namespace.

ClassName::class: vollständiger Klassenname, siehe ::class.

Siehe get_class() get_object_vars(), file_exists() und function_exists().

【Empfohlenes Lernen: „PHP-Video-Tutorial“】

Das obige ist der detaillierte Inhalt vonWas bedeutet PHP-Magie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn