unset()魔术方法,与isset()魔术方法一样主要用于在对未定义的属性调用unset()函数时被自动调用。
    在class类中,对public权限的成员属性可以直接使用unset()函数销毁释放内存。
    但对于设置为 private 或 protected 的成员属性则不行,需要在类里面加上一个 __unset() 方法:

    1. <?php
    2. class Test {
    3. private $bbb = '1';
    4. public function __unset($name) {
    5. echo '捕捉到使用unset()函数销毁私有成员属性<br/>';
    6. return unset($this->$name);
    7. }
    8. }
    9. $obj = new Test();
    10. var_dump(unset($obj->bbb));