PHP类为什么要使用public关键字?

时间:2011-01-13 07:07:13

标签: php class public

为什么我应该使用关键字public来声明类属性(变量)或方法(函数),如果它们在默认情况下是公开的?或者,是吗?

以不同的方式表达我的问题,public是多余的?我了解privateprotected,但为什么如果班级成员公开,为什么要声明public

4 个答案:

答案 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