魔术方法 __unset __isset __destruct

__unset   触发时机:对象在外部销毁私有或者受保护成员属性的时候调用

    该方法有一个参数:参数就是私有的成员属性名

__isset    触发时机:对象在外部判断私有或者受保护成员属性的时候调用

    该方法有一个参数,参数就是私有的成员属性名

__destruct    析构方法   

    触发时机:当对象被销毁的时候自动调用

<?php

class Person
{
public $name;
protected $age;
private $height;

public function __unset($name){
if($name == 'age'){
unset($this->age);
}
}

public function __set($name,$value){
if($name == 'age'){
$this->$name = $value;
}
}

public function __get($name){
if($name == 'age'){
return $this->$name;
}
}

public function __isset($name){
if($name == 'age'){
return isset($this->$name);
}
}

public function __destruct(){
echo '我要去散步了!';
}
}

$niu = new Person();
//unset($niu->age);
$niu->age = 100;
//echo $niu->age;

var_dump(isset($niu->age));

    

猜你喜欢

转载自www.cnblogs.com/rjbc/p/11391240.html