面向对象魔术方法

说明:

——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

 

 

 

 

?>

posted @ 2017-05-24 16:52  程昱仲德  阅读(94)  评论(0编辑  收藏  举报