2017-5-2 hubo php开发
一般来说,应该把类的属性定义成private,但是我们总是对属性的赋值与读取操作是非常频繁的。所以php就定义了__set()和__get()两个函数用来赋值和获取其属性。在函数中,__set()和__get()不是默认存在的,需要自己定义,像构造方法(__construct())一样,类里面添加了才会存在。
class Computer{ private $name; private $price; private $cpu; private $clocked; //拦截器之赋值 public function __set($key,$value){ return $this->$key=$value; } //拦截器之取值 public function __get($key){ if (isset($key)){ 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;