Property overloading: When accessing a property that does not exist or has insufficient permissions, it can trigger a series of magic methods called Property overloading
__unset (): Automatically triggers when a property that does not exist or has insufficient permissions is deleted
<?PHP//Property Overloading classperson{//Properties Public $name; Private $age; //Construction Method Public function__construct ($name,$age) { $this->name =$name; $this->age =$age; } //Add __unset method, no return value Public function__unset ($name){ $allow=Array(' Age '); //Judging if(In_array($name,$allow)){ //If delete is allowed, help it remove unset($this-$name); } } } Echo' <pre> '; //instantiation of $person=NewPerson (' Yuanshenfangzhi ', 19); Var_dump($person); //Delete attribute//unset ($person->name); The public attribute can be directly unset off//var_dump ($person); Unset Private Properties unset($person-Age ); Var_dump($person); unset($person->tail);
PHP--Magic Method Delete attribute: __unset ()