牛骨文教育服务平台(让学习变的简单)
博文笔记

PHP如何修改和获取private变量的值

创建时间:2016-05-31 投稿人: 浏览次数:1344
有时候为了安全,我们需要把把类的属性定义为private。但是,但是我们有时候却需要去操作这些私有成员变量,如果直接访问是会报错的,因此在PHP5中,预定义了两个函数“__get()”和“__set()”来为私有成员变量赋值和获取值,以及检查属性的“__isset()”和删除属性的方法“__unset()”。 在PHP5中给我们提供了专门为私有成员变量设置值和获取值的方法,“__set()”和“__get()”这两个方法,这两个方法不是默认存在的,而是我们手工添加到类里面去的,像构造方法(__construct())一样, 类里面添加了才会存在,可以按下面的方式来添加这两个方法,当然也可以按个人的风格来添加: //__get()方法用来获取私有属性 private function __get($property_name) { if(isset($this->$property_name)) { return($this->$property_name); }else { return(NULL); } } //__set()方法用来设置私有属性 private function __set($property_name, $value) { $this->$property_name = $value; }
有了这2个方法以后,就可以直接执行: echo $instance->$property  或 $instance->$property = “a”; 来获取和修改private变量的值了,如果没有手动添加__get();和__set();方法则会报错, 因为我们要访问的是私有变量。





声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。