我很好奇,爲什麼所有更大的開源PHP項目,似乎他們都沒有使用MVC模式,所有的帖子都促進它的使用?爲什麼大型開源PHP項目不使用MVC?
回答
phpBB和PHPMyAdmin(和PHPlist,SquirrelMail等)都是源自PHP3和PHP4的非常古老的代碼庫。在大多數情況下,它們沒有被改寫爲使用MVC或甚至OO等技術。在PHP5之前的PHP編碼約定主要是程序性的,並且發現與演示和數據庫邏輯相互混合的應用程序邏輯是非常常見的。
事實上,PHP語言鼓勵混合表示和邏輯,因爲PHP本身就是一種模板語言。隨着OO支持的改進,這些編碼方法越來越令人沮喪。
但是,較新的或快速開發的代碼庫(如Drupal,WordPress和Facebook API)使用現代模式。
MVC在1979年首次被描述,在我看來並不是非常現代的:) –
1979年的MVC模式描述了桌面軟件GUI與它們所接口的數據之間的相互作用,這幾乎與我們稱之爲MVC的MVC完全無關網頁。你實質上是在談論一種不同的模式。您還必須考慮到,PHP在1979年並不存在,它也沒有像10年前那樣具有相同的面向對象框架,最近比編寫這些軟件包更有效。 –
@Karl足夠:)但在2000年初之前的PHP編碼約定絕對不是MVC。 –
其中大部分已經基於非MVC PHP,它的工作。雖然我是MVC symfony的支持者,但我可以看到他們爲什麼要更改代碼庫來使其成爲MVC。
- 1. 什麼時候MVC不再適用於大型項目?
- 2. 什麼是一些使用源代碼的大型.NET項目?
- 3. 使用asp.net開源項目mvc + silverlight
- 4. 用Visual C++編寫的最大的開源項目是什麼?
- 5. Eclipse爲什麼不打開項目?
- 6. 什麼時候合併開源項目?
- 7. 爲什麼這麼多開源項目從SVN轉移到git?
- 8. 什麼類型的項目最好由ASP.Net MVC開發?
- 9. 爲什麼不使用EF在大型項目中生成的類?
- 10. 什麼是具有卓越設計的小型開源項目?
- 11. 爲什麼textmate不使用典型的Xcode項目?
- 12. 爲什麼我不能使用Eclipse Juno創建PHP項目?
- 13. 爲什麼knockout.js因小型項目而出名,backbone.js適合大型項目?
- 14. 什麼項目選項用於開源Delphi程序包?
- 15. 開源項目學習asp.net mvc 3
- 16. 推薦開源MVC 3項目?
- 17. 爲什麼不使用PHP?
- 18. 開源項目
- 19. 開源項目項目
- 20. 什麼是一些大型,豐富的開源應用程序?
- 21. ASP.NET MVC:爲什麼`ToMvcHtmlString`不公開?
- 22. 在ASP.NET MVC 4中開發大型項目是否合理?
- 23. 開源asp.net mvc項目的項目結構建議
- 24. 構建MVC的大型項目軟件
- 25. cMake爲大型項目
- 26. 使用PHP的大型或小型項目的文檔?
- 27. 爲什麼默認的ASP.NET MVC 3項目不使用控制器?
- 28. 爲什麼代碼塊不會使用我的項目選項?
- 29. 修改後運行開源php項目
- 30. 爲什麼使用項目編譯gtest而不是使用lib
給出一個新系統的例子(即過去3 - 4年內寫過的) –
你能列出你指的一些項目嗎? – Matt
@Matt phpBB和PHPMyAdmin一樣令人心動。 –