声明 PHP OOP 的公共封装的目的是什么?


What's the purpose of stating public encapsulation for PHP OOP?

我正在涉足PHP的面向对象方面,我一直想知道公共封装。我理解私有和受保护封装的目的,但是当涉及到公共封装时,为什么要声明它?

例如,我有 public $name;

但是,如果我只能设置$this->name = 'whatever',那么为什么"public $varname"存在呢?

因为显式指定类的属性总是更好。是的,您可以在需要时在方法中动态设置它们,但是当您尝试记住它是否应该是$varname$var_name$varName或者您是否已经"声明"了该属性时,这会变得更加困难。

它还确保在尝试使用该属性时该属性存在,从而节省对isset的调用,并使代码更加简洁可靠。