Heim >Backend-Entwicklung >PHP-Tutorial >Beispiele für die Verwendung magischer Methoden in PHP
In diesem Artikel gibt der Herausgeber eine kurze Beschreibung der Verwendung magischer Methoden in PHP mit dem beigefügten Code. Interessierte Freunde können einen Blick darauf werfen!
Was ist die „magische Methode“?
Methoden, die mit zwei Unterstrichen in PHP beginnen, __construct(), __destruct(), __call(), __callStatic(),__get(), __set(), __isset(), __unset(), __sleep (), __wakeup(), __toString(), __set_state,() __clone() __autoload() usw. werden als „magische Methoden“ bezeichnet. Wenn Sie möchten, dass PHP diese magischen Methoden aufruft, müssen sie zuerst in der Klasse definiert werden, andernfalls führt PHP nicht erstellte magische Methoden nicht aus.
1.__get __set wird aufgerufen, wenn unzugängliche Eigenschaften zugewiesen und gelesen werden
2.__sleep wird aufgerufen, wenn Objekte serialisiert werden
3.__wakeup wird aufgerufen
wenn 4. Beim Serialisieren des Objekts können Sie beispielsweise nur die angegebenen Attribute serialisieren und die Größe reduzieren, wenn Sie diese Objektzeichenfolge im Memcache speichern möchten Im folgenden Beispiel habe ich beispielsweise nur das Datenattribut serialisiert und in der __sleep-Funktion eingeschränkt
<?php class Test{ public $name; protected $data=array(); public function __set($name,$value){ $this->data[$name]=$value; } public function __get($name){ if(!isset($this->data[$name])){ return ""; } return $this->data[$name]; } public function __sleep(){ echo "sleep...\r\n"; return array('data'); } public function __wakeup(){ echo "wakeup...\r\n"; } } $test=new Test(); $test->name="我不会被序列化进去"; $test->bbbb="taoshihan"; $testObjectStr=serialize($test); var_dump($testObjectStr); var_dump(unserialize($testObjectStr));
Verwandte Tutorials:
Ein kompletter Satz Video-Tutorials zur PHP-Programmierung vom Einstieg bis zur BeherrschungDas obige ist der detaillierte Inhalt vonBeispiele für die Verwendung magischer Methoden in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!