class Dog {
protected $bark = 'woof!';
public function __get($key) {
if (isset($this->$key)) {
return $this->$key;
}
}
public function __set($key, $val) {
if (isset($this->$key)) {
$this->$key = $val;
}
}
}
使用这些功能有什么意义。
如果我可以使用
$dog = new Dog();
$dog->bark = 'woofy';
echo $dog->bark;
为什么我会费心将“吠叫”声明为protected
?这种情况下的__get()
和__set()
方法是否有效地公开了“吠叫”?