"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: „
<?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;
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~