php魔術(shù)方法__unset()在調(diào)用unset()函數(shù)銷毀一個(gè)不能訪問的屬性時(shí)被調(diào)用;它接收一個(gè)參數(shù),表述屬性的名字。
推薦:《PHP視頻教程》
屬性重載:當(dāng)訪問一個(gè)不存在或者權(quán)限不夠的屬性的時(shí)候,能夠觸發(fā)一系列的魔術(shù)方法,就叫做屬性重載
__unset()在調(diào)用 unset()函數(shù)銷毀一個(gè)不能訪問的屬性時(shí)會(huì)被調(diào)用,它接收一個(gè)參數(shù),表述屬性的名字。
<?php //屬性重載 class Person{ //屬性 public $name; private $age; //構(gòu)造方法 public function __construct($name,$age) { $this->name = $name; $this->age = $age; } //增加__unset方法,沒有返回值 public function __unset($name){ $allow = array('age'); //判斷 if(in_array($name,$allow)){ //如果允許刪除,就幫助其刪除 unset($this->$name); } } } echo '<pre>'; //實(shí)例化 $person = new Person('方智',19); var_dump($person); //刪除屬性 //unset($person->name); //公有屬性可以直接被unset掉 //var_dump($person); //unset私有屬性 unset($person->age); var_dump($person); unset($person->tail);