class Test { public $name; private $class; private $age; public function __construct($name) { $this->name = $name; } public function __unset($name) { echo '该类没有该' . $name . '属性<br>'; } // 当对一个对象不存在的属性进行判断是否有值时,就会自动调用__isset()方法 public function __isset($name) { echo '该类没有该' . $name . '属性,不能判断是否有值<br>'; } // 当类的实例调用其自身私有属性时 自动触发该方法 并返回值 // 获取类私有属性 public function __get($name) { return $this->$name; } // 当类的实例 设置其自身私有属性时 自动触发该方法 并返回值 // 设置类私有属性 public function __set($name, $vlaue) { return $this->$name = $vlaue; } // 此方法必须返回一个字符串 // 可以用于把类作为字符串输出 只能用echo print来 public function __toString() { return 'Test1'; } // _call 当要调用的方法不存在或权限不足时,会自动调用__call 方法。 public function __call($name, $arguments) { echo '调用不存在的方法名是:' . $name . '<br>参数是:'; print_r($arguments); echo '<br>'; } // __callStatic 当调用的静态方法不存在或权限不足时,会自动调用__callStatic方法。 public static function __callStatic($name, $arguments) { echo '调用不存在的--静态--方法名是:' . $name . '<br>参数是:'; print_r($arguments); } // 当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用。 $test1(5); echo 5 public function __invoke($x) { echo ($x); } }