2011-07-20 31 views
0

我很好奇,爲什麼所有更大的開源PHP項目,似乎他們都沒有使用MVC模式,所有的帖子都促進它的使用?爲什麼大型開源PHP項目不使用MVC?

+1

給出一個新系統的例子(即過去3 - 4年內寫過的) –

+0

你能列出你指的一些項目嗎? – Matt

+0

@Matt phpBB和PHPMyAdmin一樣令人心動。 –

回答

3

phpBB和PHPMyAdmin(和PHPlist,SquirrelMail等)都是源自PHP3和PHP4的非常古老的代碼庫。在大多數情況下,它們沒有被改寫爲使用MVC或甚至OO等技術。在PHP5之前的PHP編碼約定主要是程序性的,並且發現與演示和數據庫邏輯相互混合的應用程序邏輯是非常常見的。

事實上,PHP語言鼓勵混合表示和邏輯,因爲PHP本身就是一種模板語言。隨着OO支持的改進,這些編碼方法越來越令人沮喪。

但是,較新的或快速開發的代碼庫(如Drupal,WordPress和Facebook API)使用現代模式。

+0

MVC在1979年首次被描述,在我看來並不是非常現代的:) –

+0

1979年的MVC模式描述了桌面軟件GUI與它們所接口的數據之間的相互作用,這幾乎與我們稱之爲MVC的MVC完全無關網頁。你實質上是在談論一種不同的模式。您還必須考慮到,PHP在1979年並不存在,它也沒有像10年前那樣具有相同的面向對象框架,最近比編寫這些軟件包更有效。 –

+0

@Karl足夠:)但在2000年初之前的PHP編碼約定絕對不是MVC。 –

0

其中大部分已經基於非MVC PHP,它的工作。雖然我是MVC symfony的支持者,但我可以看到他們爲什麼要更改代碼庫來使其成爲MVC。