php 容错语句,php 的简略存在 (魔术方法作用之一:容错)

php 的简单存在 (魔术方法作用之一:容错)

<?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() 设置魔术方法

#@param 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);