Heim > Backend-Entwicklung > PHP-Tutorial > Eine kurze Diskussion zum Verständnis und zur Verwendung von __set() und __get() in PHP-Interceptors_php-Beispielen

Eine kurze Diskussion zum Verständnis und zur Verwendung von __set() und __get() in PHP-Interceptors_php-Beispielen

WBOY
Freigeben: 2023-03-03 06:44:01
Original
1145 Leute haben es durchsucht

"Im Allgemeinen definieren Sie die Attribute einer Klasse immer als privat, was eher einer realistischen Logik entspricht.

Das Lesen und Zuweisen von Operationen zu Attributen kommt jedoch sehr häufig vor, daher sind in PHP5 zwei Funktionen „__get()“ und „__set()“ zum Abrufen und Zuweisen von Attributen sowie zum Überprüfen von Attributen vordefiniert. " und die Methode „__unset()" zum Löschen von Attributen.

Wir haben für jedes Attribut spezielle Methoden zum Festlegen und Abrufen von Werten bereitgestellt, die beiden Methoden „__set()“ und „__get()“. Standardmäßig werden sie jedoch wie die Konstruktormethode (__construct()) manuell zur Klasse hinzugefügt. Sie können diese beiden Methoden wie folgt hinzufügen: Natürlich können Sie sie auch hinzufügen je nach persönlichem Stil: „

<&#63;php
//拦截器的使用
class Computer{
private $name;
private $price;
private $cpu;
private $clocked;

//拦截器之赋值
public function __set($key,$value){
//那么:$key=name $value="联想" 则有: $this->name="联想"
return $this->$key=$value;
}

//拦截器之取值
public function __get($key){
if (isset($key)){
//那么: $key=name 则$this->name 所以自然就return了"联想"
return $this->$key;
}else {
return NULL;
}
}
}
//正是因为的拦截器存在,才能如此用
$computer=new Computer();
$computer->name="联想";
$computer->price=5600;
$computer->cpu="八核";
$computer->clocked="1600hz";

echo $computer->name;
echo $computer->price;
echo $computer->cpu;
echo $computer->clocked;
Nach dem Login kopieren

Das Obige ist der gesamte Inhalt, den Ihnen der Herausgeber zum Verständnis und zur Verwendung von __set() und __get() in PHP-Interceptoren bereitgestellt hat. Ich hoffe, Sie werden Script Home unterstützen~

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage