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);
}
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号