2009-04-27 90 views
-1

我想創建簡單的PHP框架。但我不知道有關類結構,例如哪些類應該擴展到.Firsly我是哪個班知道一些基本類,如路由器,視圖類具有訪問一些基本的數據,作爲請求的網址或請求ccontroller和行動,所以我如何可以將基本數據導入到這些類。如果我的問題不明確,請解釋你自己的有關框架的經驗和想法。或者如果你知道請談談已知的framewoks,如zend,cakephp或symfony什麼是最簡單的PHP框架的類結構?

+0

重複約100個其他問題在SO,從這一開始:http://stackoverflow.com/questions/694929/whats-your-no-framework-php-framework – 2009-04-27 19:30:35

回答

1

沒有最好的班級結構。取決於你想要做什麼。你的意思是最純粹的MVC設計?最容易測試?最容易理解?

+0

最基本的功能,如路由,模板,佈局,auth,Mvc,控制器插件。不適用於像博客,cms腳本這樣的大型項目 – 2009-04-27 19:51:47

1

有一個簡單的經驗法則:

  • 要麼你有需要,該標準的框架不能滿足
  • 還是應該使用一個很好的標準框架,做你所需要的。

在第一種情況的限制會在您的設計驅動方面。

有在框架類結構沒有一般的設計規則。但儘量記住這一點,如果你決定編寫自己的一個:模塊之間

  • 儘量減少依賴
  • 總是試圖給默認值
  • 儘量減少開銷
  • 講座一很多同行都很早就發現漏洞。
+0

是的,我不想在類之間做很多不必要的關係。我認爲我可以把班級分成兩組。第一個基本類別,例如路由器類或視圖類。這些類不能訪問他人的數據,第二個是使用前端控制器等其他類的組。例如前端控制器可以訪問其他人的數據,他們可以調用其他方法。 例如前端控制器的調度方法稱爲前端控制器調用其他類的必要方法,例如路由器類的路由方法或渲染類od視圖類 – 2009-04-27 20:18:36

0

如果你從來沒有在別人的框架下工作過,你將不知道什麼想法對你有用,什麼不用。如果你只使用了組織化的意大利麪條代碼,那麼你就會明白什麼對你有意義。如果你已經進行了大量的重新組織,以便在多個不相關的項目中分解意大利麪代碼,那麼你應該對構建框架時的想法有個清楚的認識。 :-)

如果你沒有,你想怎樣寫一個框架,一個堅定的想法,但你想要寫一個,我想你需要開始什麼也沒有有機地建立它。但是,即使您想讓包含文件存在的位置很愚蠢,您也應該知道自己的樣子。換句話說,你所需要的只是一個起點。然後,當你遇到它時,這是一個重新考慮醜陋的問題。不久之後,您將擁有一個數據庫處理程序,一個調度機制,或許是一個數據訪問層,甚至可能是一個模板系統!

應對@MrFox,但是,你應該知道危險的依賴關係的。顯然,數據訪問層將取決於數據庫處理程序;所以你不要希望你的數據庫處理程序依賴於你的數據訪問層。事實上,你也不希望他們有彼此的親密知識。它應該是一個合理的「黑盒子」界面。

此外,一些框架嘗試建立「一個」對象層次結構。這意味着他們認爲一個行爲是一個模型就是一個數據庫處理程序。我個人在這個錯誤應用的抽象方面存在問題,所以這是一個單挑,如果它不適合你,也不要害怕拋棄這個想法。正如@Tndndall所說,沒有一個單一的「正確」方法可以做到。

相關問題