<?php /** * __isset($name):用在类外部,检测一个不存在或者无权限访问的属性的时候,自动调用 * __unset($name):用在类外部,销毁一个不存在或者无权限访问的属性的时候,自动调用 */ class Dome { //创建一个私有属性 private $name = 'peter'; private $sex = 'male'; public function __isset($name) { if ($name == 'sex') { return false; } return isset($this->name); } //销毁name属性 public function __unset($name) { if ($name == '$sex') { return false;//不允许销毁性别属性值 } unset($this->name); } public function __get($name) { return $this->$name; } } $obj = new Dome; echo isset($obj->name) ? 'yes' : 'no'; echo '<hr>'; echo isset($obj->sex) ? 'yes' : 'no'; unset($obj->name);//销毁name属性