OOP中__set()和__get()方法

来源:互联网 发布:编写python的工具 编辑:程序博客网 时间:2024/05/16 15:15
当外部改变类内的私有属性时会报错,所以需要拦截器。
private function __set($key,$value){
    $this->$key = $value;
}

private function __get($key){
    return $this->$key;
}

外部访问类内的私有属性时,指针会指向这个私有属性,因为是私有属性,所以拦截器会自动拦截,也就是__set()方法,哪怕__set()是私有的方法,因为__set()在内类,所以可以改变类内私有属性的值,2个参数必须,最后用__get()方法把改变后的私有属性返回,外部可以得到改变后的私有属性的值了,效果相当于类外直接改变了类内的私有属性的值。
原创粉丝点击