Home  >  Article  >  Backend Development  >  The simple existence of php (one of the functions of the magic method: fault tolerance)_PHP tutorial

The simple existence of php (one of the functions of the magic method: fault tolerance)_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:02:43901browse

The simple existence of php (one of the functions of the magic method: fault tolerance)

<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(&#39;age&#39;);
		if(in_array($param, $allow)){
			return $this->$param;
		}
	}


	//__set() 设置魔术方法
	#@param  string $name
	#param   string $val
	public function __set($name,$val){
		$allow = array(&#39;age&#39;,&#39;money&#39;);
		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(&#39;tail&#39;);
		if(in_array($name,$allow)){
			echo &#39;unset running&#39;;
			unset($this->$name);
		}
	}
}

//实例化
$p = new Person(&#39;zp&#39;,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>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/969599.htmlTechArticleThe simple existence of php (one of the functions of the magic method: fault tolerance) name =$name;$this->age = $age;}//Get magic method# @param string $namepublic function __get($param){// return $this->$p...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn