Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiele für die Verwendung von PHP-Magic-Methoden

Beispiele für die Verwendung von PHP-Magic-Methoden

怪我咯
怪我咯Original
2017-07-05 09:39:551168Durchsuche

Einige Funktionen namens Magische Methoden in PHP werden hier vorgestellt: Tatsächlich müssen wir sie alle in allgemeinen Anwendungen verwenden! !

Nach PHP5.0 ist PHP objektorientiert mit mehr Methoden, wodurch PHP leistungsfähiger wird! !
Einige Funktionen, die in PHP als magische Methoden bezeichnet werden, werden hier vorgestellt: Tatsächlich müssen wir sie alle in allgemeinen Anwendungen verwenden! !

1.construct() Beim Instanziieren eines Objekts wird zuerst diese Methode des Objekts aufgerufen.
Java-Code
class Test { function construction() { echo "before" } } $t = new Test();
class Test { function construction() { echo "before"; } } $t = new Test();
Die Ausgabe ist:
start
Wir wissen, dass das PHP5-Objektmodell und die Funktion mit demselben Klassennamen der Konstruktor sind Klasse, wenn wir dann beide einen Konstruktor und eine Konstrukt()-Methode definieren, ruft PHP5 standardmäßig den Konstruktor anstelle der Konstrukt()-Funktion auf, sodass Konstrukt() als Standardkonstruktor der Klasse
dient 2.destruct() Beim Löschen eines Objekts oder einer Objektoperation wird diese Methode aufgerufen.
Java-Code
class Test { function destruct() { echo "end" } } $t = new Test(); wird ausgegeben end
class Test { function destruct() { echo " end"; } } $t = new Test(); wird ausgegeben end
Wir können dann Operationen wie das Freigeben von Ressourcen am Ende der Objektoperation ausführen
3.get() Beim Versuch Wird aufgerufen, wann Lesen einer Eigenschaft, die nicht existiert.

Wenn Sie versuchen, eine Eigenschaft zu lesen, die in einem Objekt nicht vorhanden ist, gibt PHP eine Fehlermeldung aus. Wenn wir der Klasse eine Get-Methode hinzufügen, können wir diese Funktion verwenden, um verschiedene Operationen ähnlich der Reflektion in Java zu implementieren.
Java-Code
class Test { public function get($key) { echo $key } } $t = new Test(); echo $t->name; name existiert nicht
class Test { public function get($key) { echo $key } } $t = new Test(); wird ausgegeben: name existiert nicht. Existiert
4.set() wird aufgerufen, wenn versucht wird, einen Wert in eine Eigenschaft zu schreiben, die nicht existiert.
Java-Code
class Test { public function set($key,$value) { echo 'pair'.$key } } $t = new Test() ; $t->name = "aninggo"; gibt aus: an den Namen aninggo
class Test { public function set($key,$value) { echo 'pair'.$key .$ value; } } $t = new Test(); Wird aufgerufen, wenn eine Methode für ein Objekt aufgerufen wird, das nicht existiert.

Java-Codeclass Test { public function call($Key, $Args) { echo "Die {$Key}-Methode, die Sie aufrufen möchten, existiert nicht. Die von Ihnen übergebenen Parameter sind:" . print_r( $Args, true); } } $t = new Test(); $t->getName(aning,go); Ich möchte die Methode {$Key} aufrufen. Die Parameter, die Sie übergeben, sind: " . print_r($Args, true); } } $t = new Test(); $t->getName(aning,go ); Das Programm gibt aus:
Java-Code
Die getName-Methode, die Sie aufrufen möchten, existiert nicht. Die Parameter sind: Array
(
[0] => aning
[1] => go
)
Die getName-Methode, die Sie aufrufen möchten, existiert nicht. Die Parameter sind: Array
(
[0] => aning
[1] => go
)

6.toString() wird beim Drucken eines Objekts verwendet Aufrufen von

Diese Methode ähnelt der toString-Methode von Java. Wenn wir das Objekt direkt drucken, rufen wir diese Funktion
class Test { public function toString() { return „Print Test“ auf. ; } } $t = new Test(); echo $t; wird aufgerufen, um
7.clone() wird aufgerufen, wenn das Objekt geklont wird
class Test { public function clone() { echo "Ich wurde kopiert!" }$t = new Test(); $t;Programmausgabe: Ich wurde geklont!

Das obige ist der detaillierte Inhalt vonBeispiele für die Verwendung von PHP-Magic-Methoden. 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