PHP类方法中的下划线会如何处理?

在查看各种PHP库时,我注意到许多人选择在某些类方法的前面加一个下划线,例如


public function _foo()

...代替...


public function foo()

我意识到这最终归结于个人喜好,但我想知道是否有人对这种习惯的来历有所了解。


我的想法是,它可能是从PHP 4继承过来的,然后才可以将类方法标记为protected或private,以暗示“不要从类外部调用此方法”。但是,我也想到,它可能起源于我不熟悉的某个地方(一种语言),或者背后有很好的理由让我从了解中受益。


任何想法,见解和/或意见将不胜感激。


Helenr
浏览 948回答 4
4回答

拉丁的传说

它来自于面向对象的PHP(PHP 4)的糟糕年代。OO的实现非常糟糕,并且不包括私有方法之类的东西。为了弥补这一点,PHP开发人员在方法的开头加了下划线,这些方法原本是私有的。在一些较旧的课程中,您会发现/**private*/ __foo() {它会增加一些重量。我从未听说过开发人员在所有方法前都加下划线,因此我无法开始解释造成这种情况的原因。

MM们

我认为,目前这些PHP约定的最权威来源将是PSR-2:编码样式指南,因为Zend框架是PSR的一部分:属性名称不应以单个下划线作为前缀,以表示受保护的或私有的可见性。
打开App,查看更多内容
随时随地看视频慕课网APP