面向对象魔术方法
说明:
——get():每次对象读取私有属性或者未定义属性时,触发的函数,可以将私有属性在类外部进行读取
——set():每次对象对私有属性或者未定义属性进行赋值时,触发的函数,可以将私有属性在类外部进行赋值
——isset():每次对象对私有属性或者未定义属性执行isset()函数时,触发的函数,返回bool值
——unset():每次对象对私有属性或者未定义属性执行isset()函数时,触发的函数。
代码:
<?php
class test{
private $a = 0;
private $b;
private $c = 2;
private $d = 3;
public function __get($name){
if(isset($this->$name)){
return $this->$name;
}
return false;
}
public function __set($name,$value)
{
$this->$name = $value;
}
public function __isset($name)
{
return isset($this->$name);
}
public function __unset($name)
{
echo $this->$name;
}
}
$test = new test();
echo $test->a;//输出0
$test->b = 2;
echo $test->b; //输出2
var_dump(isset($test->e));//输出false
unset($test->d);//输出3
?>