短文 為什麼我不在PHP的私有變數用下劃線了

2021-09-11 10:07:58 字數 1313 閱讀 3166

首先這個問題沒什麼好爭論的。類似這種關於**規範的問題,目前我的觀點是:

跟隨你面對的團隊,跟隨你面對的**塊

最近兩次被別人問到php私有變數加下劃線的問題,由於我開始也是這麼做的,但是最後還是沒用下劃線了。最後想想還是把自己的想法說下吧。

首先:大家都知道在物件導向程式設計中對修改封閉,對擴充套件開放的原則(所以不對屬性public,違反原則)。

但是我們的**總是事與願違,在某些場景中我們需要對外可修改我們的屬性。這裡就會經常見到一些get***set***之類的成員方法。

然而:對於get***set***,我更習慣於魔術方法__get__set,這兩個魔術方法其實就可以運用到這個場景,因為可以統一對外暴露屬性,並加以控制,防止的濫用,符合物件導向的思想。

但是:對外暴露乙個加下劃線的私有屬性,看起來好怪(既然私有的被外部訪問了為啥還加下劃線)。

// 像這樣

(new demo)->_***

複製**

所以:我會在魔術方法__get__set裡面統一加下劃線,這樣這個私有屬性就可以不帶下劃線訪問了。

class

demo

"; return

$this->$argu = $value;

}public

function

__get

($name = '')

"; return

$this->$name;

}}複製**

這樣:對外可以暴露的私有屬性就沒下劃線了。

可是:魔術方法__get__set裡面加這個又感覺怪怪的。

結果:所以乾脆不加了。

其次:想了想也沒哪有這個硬性規定。

最後如下:

class

demo

public

function

__get

($value = '')

}複製**

短文 為什麼我不在PHP的私有變數用下劃線了

首先這個問題沒什麼好爭論的。類似這種關於 規範的問題,目前我的觀點是 跟隨你面對的團隊,跟隨你面對的 塊最近兩次被別人問到php私有變數加下劃線的問題,由於我開始也是這麼做的,但是最後還是沒用下劃線了。最後想想還是把自己的想法說下吧。首先 大家都知道在物件導向程式設計中對修改封閉,對擴充套件開放的原...

為什麼我的工資最低!

我盯著同為開發人員的同事們的薪水表。一股悶氣開始在胸口裡形成。當看到我的薪水在這個清單上只比最後一名高一點時 幾乎就是最低 這股悶氣衝出我的喉嚨化作一句粗俗的語言。就像是電影a christmas story 裡的ralhpie那樣,實在是忍無可忍。但當突然想到能看到這份清單也許是上帝對我的恩賜,我...

為什麼受傷的總是我

為什麼受傷的總是我 代騰飛 2008年4月25日 於成都 上一刻你還說真的很愛我 我一顆冰冷的心感動淚落 你是我心中最美麗的花朵 你似水柔情溫暖了我心窩 我發誓一定讓你幸福快樂 演繹一段人間最美的傳說 奈何此刻你突然就說要離開我 讓沉浸在幸福中的我不知所措 剛剛盛開的玫瑰為何就要凋落 為何要留下我乙...