php中那个__set()魔术方法到底有啥用??有没有通俗一点的解释?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中那个__set()魔术方法到底有啥用??有没有通俗一点的解释?相关的知识,希望对你有一定的参考价值。
参考技术A 当在给给不可访问属性赋值时 先调用__set(),要怎么通俗。。。。追问……这个和普通的方法传值有什么区别?一个类中也有构造函数啊,为什么还要多出个set
追答假如有 3个private属性 你用不同方法 赋值很麻烦吧,得对应的不同方法,__set()一个就行。构造函数只能在实例化的时候赋值
追问是不是set可以直接赋值,无论你为哪个private值赋值都可以直接?而其他的话语言调用那个函数来赋值?
参考技术B class cpublic function __set($name, $value)
$this->$name = $value;
public function __get($name)
if($this->$name)
return $this->$name;
else
return 'sop';
$a = new c;
$a->p = 'on the tap/step';
var_export( $a->p);
var_export( $a->d);追问
我想问这个set和那个构造函数有啥区别,两个都是可以往里面去传值
以上是关于php中那个__set()魔术方法到底有啥用??有没有通俗一点的解释?的主要内容,如果未能解决你的问题,请参考以下文章