好吧所以我刚刚开始在Lynda上观看关于PHP中OOP的视频系列,以便更好地理解类。现在,我开始讲述讲师讨论受保护变量的部分,以及我们如何才能像平常一样访问它们。然后他继续解释魔术方法,并开始解释__get
和__set
,以及我们如何使用它来访问私有变量
但这是一种访问受保护的东西的简单方法
class Foo
{
protected $bar = 'Hello World!';
public function getBar()
{
return $this->bar;
}
}
$baz = new Foo();
echo $baz->getBar();
所以我的问题基本上是:为什么讲师将魔术方法作为一种访问受保护变量的方式?使用__get
和__set
是使用受保护变量的首选方法吗?也许是因为范围?我记得讲师说魔术方法如何忽略经典范围,虽然我并不完全确定这意味着什么。
非常感谢任何见解!