PHP----魔术方法相关(1)
魔术方法通常在定义是前面加两个下划线,例:__get();__construct;等等。
__GET($属性名): 在对一个对象的不存在的属性进行“取值”的时候,会自动调用的方法;其实是可以用该方法
来对这种‘意外’情况进行某种特殊的处理。其中该方法可以带一个形参,表示这个对之取值的不存在的属性名(字符串);
class A{
//定义一个属性,这个属性意图存储“若干个”不存在的属性数据;
protected $prop_list = array(); //初始为空数组
//这个方法会在A的对象使用一个不存在的属性进行赋值的时候自动调用
function __set($v,$p){
//echo "使用的是不存在的属性。。。。"
$this->prop_list[$p] = $v;
}
function _get($p){
return $this->prop_list[$p];
}
}
$a1 = new A();
$a1->p1 = 1;
$a1->h2 = 3;
$a1->abc = '你好';
echo "输出这些不存在的属性"的值;
echo $a1->p1;
echo $a1->h2;
echo $a1->abc;
如此就可打印出来这些未定义的属性。

浙公网安备 33010602011771号