当前位置: 首页 > 后端技术 > PHP

PHP面向对象魔术函数__get和__set

时间:2023-03-29 15:43:12 PHP

的使用__set()方法用于设置私有属性值。__get()方法用于获取私有属性值。PHP专门提供了设置和获取属性值的方法。__set()和__get()这两个方法,我们在写类的时候写就可以了(不要写no)__set()方法是用来设置private属性的publicfunction__set($name,$value){$this->$name=$value;}用在class__set()方法之后,当使用$p1->name="张三";要设置对象私有属性的值,将自动调用__set()方法来设置私有属性的值。__get()方法用于获取私有属性publicfunction__get($name){return$this->$name;}示例";$this->$property_name=$value;}//__get()方法用于获取私有属性function__get($property_name){echo"直接获取私有属性值时,自动调用该__get()方法
";返回isset($this->$property_name)?$this->$property_name:null;}}$p1=newPerson();//直接给私有属性赋值的操作会自动调用__set()方法进行赋值$p1->name="张三";//获取的值直接调用私有属性,自动调用__get()方法返回成员属性的值echo"Mynameis:".$p1->name;?>输出直接设置私有属性的值时,会自动调用__set()方法为私有属性赋值。直接获取私有属性的值时,会自动调用__get()方法。我叫:张三