2011-01-26 34 views
1

這個「框架」問題在這裏被問了很多次,但是看過我能找到的所有東西,我找不到這個問題的答案。是否有爲封裝產品設計的MVC PHP框架?

我創建了從遊戲到CMS,社交應用程序等的所有內容。我簡單地使用了Zend和CodeUgnighter,但是當我提供它時,它會有一堆不必要的文件夾,它需要任何想要的人修改我的程序以瞭解框架,並且如果他們想要將其更新到最新版本的框架,他們會有一個動作。

在我看來,框架的設計主要針對超大型項目,其設計爲一個客戶,而不是一個發佈的程序。似乎所有大型打包的php產品都有自己的框架(vbulletin等)。

+1

你真的爲自己回答了。如果你不喜歡像CodeIgniter這樣的框架,那麼編寫你自己的。但是等等..如果你打包你的框架,人們仍然需要學習它。 – 2011-01-26 19:58:07

+0

告訴我們關於你的「打包產品」:)我認爲幾乎所有的框架都有固有的侷限性和障礙,由於這個行業的性質,但也許一些框架會比其他框架更好(接近你想要的),取決於你的具體需求。 – Sampson 2011-01-26 19:58:40

回答

2

其將有一堆不需要的文件夾

這些uncessary文件夾都存儲在一個文件夾中,並且需要對框架的工作,就是10,20,200 Mb這是問題嗎?現在存儲便宜,爲什麼要關心?

它要求任何人誰想要修改 我的程序知道框架

你猜對了!這是一個優點,而不是一個不方便的。如果沒有,那麼會閱讀你的代碼的人將需要了解你的習慣,你的習慣,而且他們可能並不常見。 如果您能夠編寫一致的代碼,遵循任何約定,爲什麼不。 但它也可以給你的客戶一個真正的價值,因爲他知道如果你因任何原因必須離開,任何人都可以收回你的工作。

如果他們想要更新到最新版本的框架,他們已經有了一座山。

在任何情況下,升級的框架,爲新版本的應用程序是大多數時間,因爲在生產環境中,你需要測試一個頗富,並再次測試,以確保您的應用程序是穩定的。 大部分的框架都會提供發佈說明,讓您瞭解向後兼容性。

在我看來,框架 主要是爲超大型 項目設計的。

Zend或Code Igniter適合中等規模的項目,隨着時間的推移,您開發了框架擴展,您將能夠在較小的項目上節省時間和錯誤。

好像所有的大包裝PHP 產品在那裏讓自己 框架(vBulletin等)。

PHP框架是年輕人,他們大多數都是3/4歲(Zend,Symfony)。很多像Vbulletin這樣的應用程序都比較老舊。

有很多基於通用框架的應用程序,但它們並不針對同一個人。

Joomla,Drupal,Wordpress有自己的框架(程序或對象),但他們更多的目標是最終用戶。

然而像Magento這樣使用Zend Framework的解決方案被設計爲擴展並且可以通過擴展進行定製。

2

有許多輕量級PHP MVC框架,每個框架都具有不同程度的功能和靈活性。其中大部分將缺乏高級功能,但會完成工作。

想到的是:http://www.kissmvc.com

希望幫助:)

2

你說得對,大多數框架都是針對「適合所有人」而設計的,這意味着他們有很多東西,你不一定需要每個項目。這有時會讓他們有點重量級。更多'現代'框架強調模塊化,但是當涉及到核心時,通常存在很多相互依賴關係。一個解決方案:滾動你自己的框架,解剖其他框架的代碼,並使用你喜歡/需要的部分。如果可以的話,更多地傾向於使用專注於您所需的特定任務的庫。例如。 ORM的數據庫,你可能會使用原則,因爲它的專業領域非常集中。只是一個例子。

無論哪種方式,如果你做得對,這是很多工作,試圖找出你甚至需要什麼。從基礎知識開始,您的控制器如何工作,您是否需要完全實現MVC與前端控制器,動作控制器,可能是CMS的頁面控制器?你可以在哪裏偷工減料?它很大程度上取決於您對特定產品(或產品調色板)的需求。

另一個解決方案,就像Serge提到的,正在獲得一個輕量級的框架,它真的只關注基礎知識。並且自己填充所有洞,或者使用可用的第三方庫。我個人使用FLOW3的重大修改版本(目前在alpha開發中),它使用了很多很酷的東西,但在使用遺留數據庫(他們有自己的域模型實現)時缺少一點。這是我改變主要爲我的版本。