2010-11-22 106 views
3

我想從經驗豐富的PHP開發人員那裏獲得關於如何構造代碼的一些輸入。PHP代碼設計,結構,模式..?

我覺得我的應用程序很快就會變得「骯髒」和無組織。

我應該從OO開始編碼嗎?我應該開始使用MVC嗎?設計模式怎麼樣?還有什麼其他選擇?如何更好地組織和構建我的應用程序代碼(超出正確的縮進和命名)?

歡迎鏈接到資源:)

如果我決定開始使用MVC編碼?我應該使用任何框架還是隻手工編碼? 你的建議是什麼?

+7

`我應該從OO開始編碼嗎?`..千次是! :D – Hamish 2010-11-22 19:48:39

+0

@Hamish:唱它brotha! – DampeS8N 2010-11-22 19:53:36

+0

雖然您不應該錯誤地將「設計良好」的「合併對象」(也就是「良好的OO設計」!=「符合問題」,但僅限於專家)。 – delnan 2010-11-22 20:05:04

回答

4

不用擔心從頭開始創建一些東西,我會從使用框架開始並使用自己的小部件進行擴展。 Zend Framework非常優秀,並且擁有大量支持:http://framework.zend.com/

否則,到目前爲止,我發現的關於PHP設計的最好的書被George Schlossnagle稱爲「高級PHP編程」。它比我見過的任何地方都更有效地解釋了模式和設計。

根據下面的評論,我絕對不是想說你應該只學習一個框架。僅學習一個框架永遠不是好事,但你可以通過其他人的代碼學習編碼技術,比如在框架/庫/等等。通過各種可用來源(論壇,書籍,代碼資源)來攻擊你的學習,並對你在接受一個新項目時應該使用的方法作出有教育的決定。

2

我的建議:使用Symfony framework至少一次,本教程將教會您需要了解的大多數最佳實踐,並讓您以良好的方式組織您的代碼。

0

一步一個腳印吧。 Download Smarty並熟悉它。這應該給你關於分離關注的奇妙溫暖的模糊感覺,並且讓你對其他事情有所瞭解。

0

沒有銀子彈。

無論你如何開始計劃,重要的是你的計劃。從像MVC這樣基本的東西開始,並嘗試找到不應該以這種方式創建應用程序的原因。如果您找不到理由,請考慮哪些框架可能具有您需要的功能。

如果MVC會增加很多額外的工作。例如,如果您將要執行大量複雜的AJAX或嚴重的多級緩存或其他原因。找出哪種系統可以節省您的時間。

隨着高速緩存,有時候將整個結構圍繞高速緩存系統工作。點擊緩存的字符串作爲模板,你現在可以改變預先緩存的項目。用於即時彙編iGoogle樣式的頁面。

解決方案將來自該問題。

0

我建議你嘗試使用一些流行的框架。這樣你可以閱讀乾淨的代碼並形成你的風格。 'Yii框架'對我來說是個好主意。 Offcourse,閱讀有關設計模式不僅適用於您的PHP技巧,而且適用於一般的編程技巧將會很有用。

1

對我來說JAVA是真正瞭解OOP如何完成的最佳方法之一。它在php中完成的方式有點蹩腳。我見過幾個結構良好的基於​​Maven的項目,每當我再次看到它們時,我都會說「WOW」。您應該開始使用MVC的編碼模型,因爲它可以讓您輕鬆監控 - Controller =頁面邏輯,Model =頁面(sql)數據,Viewer =頁面模板。
最好你可以看到我在這個網站上談論的http://php-html.net/tutorials/model-view-controller-in-php/