Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiele für die Verwendung magischer Methoden in PHP

Beispiele für die Verwendung magischer Methoden in PHP

little bottle
little bottlenach vorne
2019-04-18 11:56:312540Durchsuche

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(&#39;data&#39;);
	}
	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 Beherrschung

Das 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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen