在查看各種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 關注
- 972 瀏覽
添加回答
舉報
0/150
提交
取消