PHP classes why use public keyword?

可紊 提交于 2019-12-01 00:10:50

问题


Why should I declare class properties (variables) or methods (functions) using the keyword public, if they're public by default? Or, are they?

To phrase my question differently, is public redundant? I understand private and protected, but why declare public if class members are public anyway?


回答1:


Yes, public is the default (see visibility docs).

People add it, so it is consistent with all the other methods / properties.

Furthermore, if you want to declare a property public and don't want to use public you will need to use var, which is not recommended and will likely be deprecated at some point.




回答2:


As of php 5.3 (I think, its been a while), using the var keyword raises E_STRICT errors, so public has to be used to declare object vaiables. As for functions, I believe it is more of a consistency thing.




回答3:


Sure it is redundant since that is the default visibility level. You should avoid them when you can. Some people add the public keyword explicitly so that code is little more readable.




回答4:


There is no technical reason to use public however a visibility keyword is required by PSR-2 on all functions so if you want to follow PSR-2 then you should use it:

4.3. Methods

Visibility MUST be declared on all methods.

https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md#43-methods



来源:https://stackoverflow.com/questions/4677619/php-classes-why-use-public-keyword

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!