Heim >Backend-Entwicklung >PHP-Tutorial >php 的简略存在 (魔术方法作用之一:容错)
php 的简单存在 (魔术方法作用之一:容错)
<span style="font-family:KaiTi_GB2312;font-size:18px;"><?php // 重载class Person{ //定义属性 public $name; private $age; //构造方法 public function __construct($name,$age){ $this->name =$name; $this->age =$age; } //获取魔术方法 # @param string $name public function __get($param){ // return $this->$param; #允许被访问的属性 $allow = array('age'); if(in_array($param, $allow)){ return $this->$param; } } //__set() 设置魔术方法 [email protected] string $name #param string $val public function __set($name,$val){ $allow = array('age','money'); if(in_array($name, $allow)){ $this->$name=$val; } } // __isset() 判定数据 public function __isset($name){ return isset($this->$name); } //__unset 销毁数据 public function __unset($name){ //建立unset列表 $allow =array('tail'); if(in_array($name,$allow)){ echo 'unset running'; unset($this->$name); } }}//实例化$p = new Person('zp',21);$p->age = 200;echo $p->money = 200000000;$p->tail ="a";var_dump(isset($p->name));var_dump(isset($p->age));var_dump(isset($money));// var_dump(empty($tail));unset($p->tail);// var_dump($tail);</span>