在查看各种PHP库时,我注意到许多人选择在某些类方法的前面加一个下划线,例如public function _foo()...代替...public function foo()我意识到这最终归结于个人喜好,但我想知道是否有人对这种习惯的来历有所了解。我的想法是,它可能是从PHP 4继承过来的,然后才可以将类方法标记为protected或private,以暗示“不要从类外部调用此方法”。但是,我也想到,它可能起源于我不熟悉的某个地方(一种语言),或者背后有很好的理由让我从了解中受益。任何想法,见解和/或意见将不胜感激。
4 回答
拉丁的传说
TA贡献1789条经验 获得超8个赞
它来自于面向对象的PHP(PHP 4)的糟糕年代。OO的实现非常糟糕,并且不包括私有方法之类的东西。为了弥补这一点,PHP开发人员在方法的开头加了下划线,这些方法原本是私有的。在一些较旧的课程中,您会发现/**private*/ __foo() {
它会增加一些重量。
我从未听说过开发人员在所有方法前都加下划线,因此我无法开始解释造成这种情况的原因。
MM们
TA贡献1886条经验 获得超2个赞
我认为,目前这些PHP约定的最权威来源将是PSR-2:编码样式指南,因为Zend框架是PSR的一部分:
属性名称不应以单个下划线作为前缀,以表示受保护的或私有的可见性。
- 4 回答
- 0 关注
- 947 浏览
添加回答
举报
0/150
提交
取消