Heim  >  Artikel  >  Backend-Entwicklung  >  Was sind die magischen Methoden in PHP und welche Funktionen haben sie?

Was sind die magischen Methoden in PHP und welche Funktionen haben sie?

青灯夜游
青灯夜游Original
2019-10-11 11:58:152700Durchsuche

Bei der objektorientierten Programmierung stellt PHP eine Reihe magischer Methoden bereit, die viel Komfort beim Programmieren bieten. Magische Methoden in PHP beginnen normalerweise mit __ (zwei Unterstrichen) und erfordern keine expliziten Aufrufe, sondern werden durch bestimmte Bedingungen ausgelöst. Dieser Artikel fasst kurz die in PHP verfügbaren magischen Methoden zusammen.

Was sind die magischen Methoden in PHP und welche Funktionen haben sie?

__construct()

__construct() ist der Konstruktor einer Klasse und mit Abstand die am häufigsten verwendete Funktion. Beim Erstellen eines Objekts können Sie im Konstruktor einige Initialisierungsarbeiten durchführen. Sie können für den Konstruktor beliebig viele Parameter definieren, sofern bei der Instanziierung die entsprechende Anzahl Parameter übergeben wird. Jede im Konstruktor auftretende Ausnahme verhindert, dass das Objekt erstellt wird.

__dectruct()

__dectruct() ist der Destruktor einer Klasse. Er wird normalerweise automatisch aufgerufen, wenn das Objekt zerstört wird oder die Skriptausführung endet keine Parameter erhalten. Im Destruktor werden häufig einige Aufräumarbeiten durchgeführt, z. B. das Schließen der Datenbankverbindung usw.

__call()

__call() wird aufgerufen, wenn eine Methode aufgerufen wird, die nicht existiert oder auf die nicht zugegriffen werden kann. Es empfängt zwei Parameter, einer ist der Name der aufzurufenden Methode und der andere ist ein Array, das die Funktionsparameter enthält. Wir können diese Methode verwenden, um die gleichnamige Funktion im Unterobjekt

__callStatic()

__callStatic() aufzurufen, wenn die statische Methode ist Der aufgerufene Benutzer existiert nicht oder verfügt nicht über ausreichende Berechtigungen. Er wird aufgerufen, wenn. Es empfängt zwei Parameter, einer ist der Name der aufzurufenden Methode und der andere ist ein Array, das die Funktionsparameter enthält. Seine Verwendung ist genau die gleiche wie __call().

__get()

__get() wird aufgerufen, wenn wir versuchen, auf eine nicht vorhandene Eigenschaft oder eine nicht öffentliche Eigenschaft zuzugreifen. Es empfängt einen Parameter, der den Namen des Attributs darstellt, auf das zugegriffen wird, und gibt den Wert des Attributs

__set()

__set() zurück, wenn wir versuchen, es zu ändern ein nicht verfügbar Es wird aufgerufen, wenn auf das Attribut zugegriffen wird. Es empfängt zwei Parameter, einen, der den Namen des Attributs angibt, und einen, der den Wert des Attributs angibt.

__isset()

__isset() wird aufgerufen, wenn die Methode isset() oder empty() für eine nicht zugängliche Eigenschaft aufgerufen wird. Sie empfängt einen Parameter: Represents der Name des Attributs. Es sollte einen booleschen Wert zurückgeben, der angibt, ob die Eigenschaft vorhanden ist.

__unset()

__unset() wird aufgerufen, wenn die Funktion unset() aufgerufen wird, um ein unzugängliches Attribut zu zerstören Der Name der Eigenschaft.

__sleep()

__sleep() wird aufgerufen, wenn ein Objekt serialisiert wird (Aufruf von serialize()). Es benötigt keine Parameter und sollte ein Array zurückgeben, das alle Eigenschaften enthält, die serialisiert werden sollen. Im Rahmen dieser magischen Methode können Sie auch einige andere Vorgänge ausführen.

Zu beachten ist, dass in dieser Funktion keine Zerstörungsvorgänge ausgeführt werden, da dies Auswirkungen auf das laufende Objekt haben kann

__wakeup()

__wakeup() wird aufgerufen, wenn das gespeicherte Objekt deserialisiert wird. Es empfängt keine Parameter und gibt keinen Wert zurück. Sie können es verwenden, um Datenbankverbindungen oder Ressourcen zu verarbeiten, die während der Serialisierung verloren gehen.

__toString()

__toString() Wenn wir Objekte als Zeichenfolgen verwenden, ist dies nicht der Fall keine Parameter erhalten. Mit dieser Methode können wir die Darstellung des Objekts definieren.

__invoke()

Die Antwortmethode beim Aufrufen eines Objekts durch Aufrufen einer Funktion

__set_state()

Diese statische Methode wird aufgerufen, wenn var_export() aufgerufen wird, um eine Klasse zu exportieren.

__clone()

__clone() kann das oben genannte Problem lösen. Diese magische Methode wird aufgerufen, wenn das Schlüsselwort clone für ein Objekt verwendet wird.

Das obige ist der detaillierte Inhalt vonWas sind die magischen Methoden in PHP und welche Funktionen haben sie?. 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