企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
### 概述 判断不可访问的属性是否存在: __isset() 如果该属性是不可访问的属性,判断这个属性是否存在的时候,会自动触发该方法的执行! 同样的,该方法也需要一个参数,技术当前需要判断的属性名! ### 默认行为 ~~~ class Person{ private $name; private $age; public function __construct($name,$age) { $this->name = $name; $this->age = $age; } } $p = new Person("jack",18); var_dump(isset($p->name)); ~~~ ~~~ bool(false) ~~~ ### 重写该方法 ~~~ class Person{ private $name; private $age; public function __construct($name,$age) { $this->name = $name; $this->age = $age; } public function __isset($name) { $allow_isset = ['name','age']; if(in_array($name,$allow_isset)){ unset($this->$name); } return "无权删除"; } } $p = new Person("jack",18); var_dump(isset($p->name)); ~~~ ~~~ bool(true) ~~~