当外部改变类内的私有属性时会报错,所以需要拦截器。
private function __set($key,$value){
$this->$key = $value;
}
private function __get($key){
return $this->$key;
}
外部访问类内的私有属性时,指针会指向这个私有属性,因为是私有属性,所以拦截器会自动拦截,也就是__set()方法,哪怕__set()是私有的方法,因为__set()在内类,所以可以改变类内私有属性的值,2个参数必须,最后用__get()方法把改变后的私有属性返回,外部可以得到改变后的私有属性的值了,效果相当于类外直接改变了类内的私有属性的值。
private function __set($key,$value){
$this->$key = $value;
}
private function __get($key){
return $this->$key;
}
外部访问类内的私有属性时,指针会指向这个私有属性,因为是私有属性,所以拦截器会自动拦截,也就是__set()方法,哪怕__set()是私有的方法,因为__set()在内类,所以可以改变类内私有属性的值,2个参数必须,最后用__get()方法把改变后的私有属性返回,外部可以得到改变后的私有属性的值了,效果相当于类外直接改变了类内的私有属性的值。