2013-05-28 81 views
2

我剛剛開始使用PHP類,我的方法遍佈全球。PHP OOP,一流的好習慣

基本上,我需要一個新的方法,我去了班上的最後一名,並添加它。

現在發現什麼,我需要稍後進行編輯在後面一個相當痛苦,有沒有任何「良好做法」對於那些把公共,私有,靜態和存取方法?

+0

我總是把相互關聯的方法放在一起。 – Rikesh

+1

雖然這是一個很好的問題,但它不適合SO,因爲沒有任何絕對正確的答案,而且非常主觀。就我個人而言,我總是對班級成員(例如'屬性','getters','setters','helpers'等)進行分組,並在評論中提及這個分組。所以當我需要編輯'getter'時,我搜索'getter'註釋並開始編輯。我不在乎他們是如何訂購的,因爲幾乎所有的IDE都會列出您的班級,在那裏您可以輕鬆找到會員。 – Leri

+0

好問題。就我個人而言,我只想過按字母順序排列,在頂部有getter和setter,所以我很樂意看到這個的一些答案 –

回答

2

沒有固定的指導原則。它基本上歸結爲您自己的偏好。唯一需要確定的是您在自己的代碼庫中保持一致。

總之,要回答你的問題,我會給你我自己的個人風格,你可以從中獲得靈感或派生之一。

在第一部分中,我定義了屬性。首先是類的常量,然後是靜態屬性,然後是公共,受保護和私有屬性。

在第二部分我有類的方法,它遵循相同的模式屬性之前:首先是靜態的,那麼公有,保護和私有的。

我通常把getter和setter(當可用時)放在其他公共方法之上。

另外,我通常會優先從接口和父類(ES)

但同樣繼承/實現的方法,這只是我自己的準則。

+0

感謝您的回覆和提示。我會選擇你的答案,因爲我會比伯恩哈德更多地使用你的提示/結構。謝謝! – Ryan

2

在大多數代碼,我看到下面的結構(從上到下):

  1. 場(由知名度訂購)
  2. 構造函數和析構函數
  3. Methodes(再次知名度有序,公衆首先,不是受保護的,不是私人)

但你也可以完善這一結構,例如將getter/setter放在公共方法的頂部或底部。另一種方法可以是在複雜性之後訂購私有方法(底部的更多魔術方法),或者您可以按照字母順序排列字段和方法。就個人而言,我也寧願先放置靜態變量。

可以肯定,每個人都會有自己的風格,而且不會有一個「最佳」的風格,但通常這是好事,有一個結構,而不是把任何東西任何地方。

+0

感謝您的回覆!這些是一些很棒的提示! – Ryan