Home >Backend Development >PHP Problem >When is the php magic method __unset() called?
php magic method __unset() is called when the unset() function is called to destroy an inaccessible attribute; it receives a parameter expressing the name of the attribute.
Recommendation: "PHP Video Tutorial"
Attribute overloading: When accessing a property that does not exist or has insufficient permissions Attributes can trigger a series of magic methods, which are called attribute overloading
__unset() will be called when the unset() function is called to destroy an inaccessible attribute. It receives a parameter to express the attribute. name.
<?php //属性重载 class Person{ //属性 public $name; private $age; //构造方法 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 class="brush:php;toolbar:false">'; //实例化 $person = new Person('方智',19); var_dump($person); //删除属性 //unset($person->name); //公有属性可以直接被unset掉 //var_dump($person); //unset私有属性 unset($person->age); var_dump($person); unset($person->tail);
For more programming-related knowledge, please visit: Introduction to Programming! !
The above is the detailed content of When is the php magic method __unset() called?. For more information, please follow other related articles on the PHP Chinese website!