2013-08-20 124 views
0

我一直在嘗試使用PHP進行函數式編程。我理解所有的基礎知識;封閉,lambdas,參考透明度等如何在PHP(或任何語言)中組織功能代碼

我不明白,不能找到很多信息是如何構建整個項目。如何將功能組合成什麼樣的文件夾結構。

我一直在做的是隻用靜態函數使用空類,因爲這爲我提供了命名空間。這是一個好主意還是有更好的方法?

+0

@lonut有時你應該放下你的高馬並停止做出假設。 – SystemicPlural

+0

對不起,如果我冒犯了,這就是我的工作。我應該明確表示這一點。 –

+0

@lonut它只是碰到了精英主義者。 FWIW我開始在我的頻譜48k +的80年代編程,並且一路上學習了20多種語言。我知道有些人會認爲這是不正常的,但我喜歡用PHP進行試驗;我*有*使用它,以至於我非常熟悉它的問題,所以我發現它容易和快速地進行實驗。 – SystemicPlural

回答

2

TL; DR:只需在名稱空間或靜態類成員中定義所需的函數。

如果您看看函數式語言(如函數式編程意圖所用的語言),那麼您可以使用基本命名空間將函數分組到庫中。在PHP中,您可以將函數直接放入命名空間,或者如果您更喜歡使用上的::分隔符,則可以將它們放在類中的靜態方法中。

在許多功能語言中,最終會使用許多僅用於本地範圍的輔助功能。可以像處理PHP中的私有方法一樣處理這種情況(通過在下劃線前加上下劃線或使用private關鍵字)。

對於PHP以外的其他語言,您會發現類似的推理:使用任何方法將函數組合在一起(模塊,名稱空間,類,結構等)。從功能編程的角度來看,沒有任何爭論可以改變這一點。

+0

謝謝,那正是我想知道的。 – SystemicPlural