在查看各种 PHP 库时,我注意到很多人选择在某些类方法前加上一个下划线,例如
public function _foo()
…代替…
public function foo()
我意识到这最终归结为个人喜好,但我想知道是否有人对这种习惯的来源有所了解。
我的想法是它可能是从 PHP 4 继承而来的,在类方法可以被标记为受保护或私有之前,作为暗示“不要从类外部调用此方法”的一种方式。但是,我也想到它可能起源于我不熟悉的某个地方(一种语言),或者它背后可能有很好的推理,我会从了解中受益。
任何想法、见解和/或意见将不胜感激。
原文由 nocash 发布,翻译遵循 CC BY-SA 4.0 许可协议
它来自面向对象的 PHP (PHP 4) 的糟糕旧时代。 OO 的实现非常糟糕,并且不包括私有方法之类的东西。作为补偿,PHP 开发人员在原本是私有的方法前面加上了下划线。在一些较早的课程中,您会看到
/**private*/ __foo() {
给它一些额外的重量。我从来没有听说过开发人员在他们所有的方法前都使用下划线,所以我无法开始解释是什么原因造成的。