当外部改变类内的私有属性时会报错,所以需要拦截器。
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()方法把改变后的私有属性返回,外部可以得到改变后的私有属性的值了,效果相当于类外直接改变了类内的私有属性的值。
本文详细阐述了如何通过拦截器技术保护类内的私有属性不被外部错误修改,确保数据安全与一致性。通过实现__set()与__get()方法,即使私有属性被外部调用,也能确保数据的正确更新与获取。
1775

被折叠的 条评论
为什么被折叠?



