为什么我应该使用关键字public
来声明类属性(变量)或方法(函数),如果它们在默认情况下是公开的?或者,是吗?
以不同的方式表达我的问题,public
是多余的?我了解private
和protected
,但为什么如果班级成员公开,为什么要声明public
?
答案 0 :(得分:7)
是的,public
是默认设置(请参阅visibility docs)。
人们添加它,因此它与所有其他方法/属性一致。
此外,如果您想要公开一个属性并且不想使用public
,则需要使用var
,这是不推荐的,并且可能会在某个时候弃用。< / p>
答案 1 :(得分:3)
从php 5.3开始(我认为已经有一段时间了),使用var关键字会引发E_STRICT错误,因此必须使用public来声明对象vaiables。至于功能,我认为它更像是一致性。
答案 2 :(得分:2)
确保它是多余的,因为这是默认的可见性级别。你可以尽量避免使用它们。有些人会明确添加public
关键字,以便代码更具可读性。
答案 3 :(得分:2)
使用public
没有技术原因,但是PSR-2需要在所有功能上使用可见性关键字,因此如果您想要关注PSR-2,那么您应该使用它:
4.3。方法
必须在所有方法上声明可见性。
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md#43-methods