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

</span>

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。