是否有必要严格确定类函数是否为公共函数?

3

在查看他人的源代码时,我注意到有些人会在类中将公共函数明确定义为public。我知道类变量需要这样的定义,但PHP指出定义方法的可见性是可选的,[类方法可以被定义为public、private或protected,未明确使用任何可见性关键字声明的方法被定义为public。]。

与让PHP假定它是公共的相比,将函数明确定义为public是否有任何好处?


5
"将一个函数明确定义为public,是否有任何好处?" - 有。保持一致性和易读性是主要好处。由于你仍然需要设置protectedprivate,因此使用public也是合理的。 - M. Eriksson
2
如果没有它,一个人就必须去阅读PHP文档才能知道/理解public是默认值,如果一个人不熟悉PHP的话。在我看来,如果实际上没有默认值可能会更好。 - Dave
2个回答

1

并不是每个人都知道给定语言特性的默认可见性。例如,在C++中,结构体和类本质上是相同的,其中结构体成员和公共成员默认为public,而类默认为private - 这并不能阻止人们指定它们。

通过明确说明给定特性的可见性,就不会产生混淆。这使得人们能够更快地阅读和消化代码,对那些不熟悉默认可见性的人尤其有帮助。


1

定义属性或方法的公共可见性并没有编程上的优势。

但在代码样式方面有很大的优势。PHP初学者可能不知道函数默认是公共的。此外,始终为函数添加可见性是有意义的,否则私有/受保护函数和公共函数会有不同的代码样式。

这甚至考虑到了psr-2,它强制你将所有方法和属性的可见性都加上


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接