就这个看图说话
就是在给一个不存在的对象属性赋值时,会自动调用__set()魔术方法,把属性名以形参$key传入,属性值以形参$val传入,然后把它们分别对应作为$ary数组的键、值存入。
也是刚学,个人这么理解的。
$car = new Car();
$car->name = '汽车'; //name属性动态创建并赋值
echo $car->name;
第二句的name 相当于$key
name的值,$val
name本身是不存在的,__set($key,$val)也就是赋值。$key和$val也可以用$XX代替
今天刚学习到重载;如果已经有了一个public的定义,就不需要重载,$car->name='汽车' 中的‘name’是没有被public定义的 所以__set 属性生效了。也就是重载。
看过的大神勿喷。楼主我也是初学,共同交流。