unset()魔术方法,与isset()魔术方法一样主要用于在对未定义的属性调用unset()函数时被自动调用。
在class类中,对public权限的成员属性可以直接使用unset()函数销毁释放内存。
但对于设置为 private 或 protected 的成员属性则不行,需要在类里面加上一个 __unset() 方法:
<?phpclass Test {private $bbb = '1';public function __unset($name) {echo '捕捉到使用unset()函数销毁私有成员属性<br/>';return unset($this->$name);}}$obj = new Test();var_dump(unset($obj->bbb));
