用户登录

__set 这个魔术方法可以在设置对象里的私有,受保护或者不存在的属性值的时候自动被调用。下面,我们可以在 Track 这个类里去使用这个方法。

public function __set() .. 这个方法有两个参数 .. $name ,还有 $value ... $name 就是要设置的属性 ... $value 是属性的值 ...

在这个函数里,我们可以简单的把对象的属性的值,设置成要设置的值 ...

public function __set($name, $value) {
$this->$name = $value;
}

在下面,同样去创建一个 Track 类的实例 ... 然后再去设置一下 track_name 这个属性的值 ... 设置成 Magic ... 这样,track_name 这个属性就是 __set 这个方法的第一个参数 ... 也就是那个 $name 参数 ... 等号右边的这个值,会作为 __set 方法里面的第二个参数 ... $value 参数 ...

再把 magic 这个对象,用 print_r 输出到屏幕看一下 ...

$magic = new Track();
$magic->track_name = 'Magic';
print_r($magic);

你会发现,magic 这个对象的 track_name 属性的值就被设置成了 Magic ... 因为 track_name 是一个私有的属性 ... 所以在设置它的时候,会自动去调用 __set() 这个魔术方法去设置它的值 ...

设置不可见的属性自动调用的函数 __set《 PHP 面向对象 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点