Heim  >  Artikel  >  Backend-Entwicklung  >  Was nützen magische Methoden in PHP?

Was nützen magische Methoden in PHP?

(*-*)浩
(*-*)浩Original
2019-09-06 14:58:362921Durchsuche

Bei der objektorientierten Programmierung PHP bietet eine Reihe magischer Methoden, 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.

Was nützen magische Methoden in PHP?

__construct()

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

__dectruct() (Empfohlenes Lernen: PHP-Programmierung vom Anfänger bis zum Experten)

Der Destruktor wird normalerweise aufgerufen, wenn das Objekt zerstört wird Der Konstruktor erhält keine Parameter. Im Destruktor werden häufig einige Aufräumarbeiten durchgeführt, z. B. das Schließen der Datenbankverbindung usw.

__get()

wird aufgerufen, wenn wir versuchen, auf eine Eigenschaft zuzugreifen, die nicht existiert. Es empfängt einen Parameter, der den Namen des Attributs darstellt, auf das zugegriffen wird, und gibt den Wert des Attributs zurück

__set()

Die magische Methode ist wann Wir versuchen es zu ändern. Es wird aufgerufen, wenn eine unzugängliche Eigenschaft vorhanden ist. Es erhält zwei Parameter, einen für den Namen der Eigenschaft und einen für den Wert der Eigenschaft.

__isset()

Die magische Methode wird aufgerufen, wenn die isset()-Methode für eine nicht zugängliche Eigenschaft aufgerufen wird. Sie erhält einen Parameter, der den Namen der Eigenschaft darstellt . Es sollte einen booleschen Wert zurückgeben, der angibt, ob die Eigenschaft vorhanden ist.

__unset()

Die magische Methode wird aufgerufen, wenn die Funktion unset() aufgerufen wird, um ein unzugängliches Attribut zu zerstören. Sie erhält einen Parameter, der den Namen des Attributs ausdrückt .

__toString()

wird aufgerufen, wenn wir das Objekt als String verwenden. Es erhält keine Parameter. Mit dieser Methode können wir die Darstellung des Objekts definieren.

__clone()

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

__sleep()

Die magische Methode __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()

Die magische Methode __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

__call()

Die magische Methode __call() wird verwendet, wenn eine nicht vorhandene oder nicht zugängliche Methode aufgerufen wird wird aufgerufen. Es empfängt zwei Parameter, einer ist der Name der aufzurufenden Methode und der andere ist ein Array, das die Funktionsparameter enthält. Mit dieser Methode können wir die gleichnamige Funktion im Unterobjekt aufrufen

Das obige ist der detaillierte Inhalt vonWas nützen magische Methoden in PHP?. 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