From : http://yp.oss.org.cn/software/show_resource.php?resource_id=742
本文給大家介紹一下國外最流行的基於MVC設計模式的PHP架構,對你有一定的協助哦。
1. Yii
Yii是一個基於組件的高效能的PHP的架構,用於開發大規模Web應用。Yii採用嚴格的OOP編寫,並有著完善的庫引用以及全面的教程。從MVC,DAO/ActiveRecord,widgets,caching,等級式RBAC,Web服務,到主體化,I18N和L10N,Yii提供了今日Web 2.0應用開發所需要的幾乎一切功能。而且這個架構的價格也並不太高。事實上,Yii是最有效率的PHP架構之一。
2. CodeIgniter
CodeIgniter是一個應用開發架構——一個為建立PHP網站的人們所設計的工具包。其目標在於快速的開發項目:它提供了豐富的庫組以完成常見的任務,以及簡單的介面,富有條理性的架構來訪問這些庫。使用CodeIgniter開發可以往項目中注入更多的創造力,因為它節省了大量編碼的時間。
3. CakePHP
CakePHP是一個快速開發PHP的架構,其中使用了一些常見的設計模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目標在於提供一個令任意水平的PHP開發人員都能夠快速開發web應用的架構,而且這個快速的實現並沒有犧牲項目的彈性。
4. PHPDevShell
PHPDevShell是一個開源(GNU/LGPL)的快速應用開發架構,用於開發不含Javascript的純PHP。它有一個完整的GUI管理員後台介面。其主要目標在於開發外掛程式一類的基於管理的應用,其中速度、安全、穩定性及彈性是最優先考慮的重點。其設計形成了一個簡單的學習曲線,PHP開發人員無需學習複雜的新術語。PHPDevShell的到來滿足了開發人員們對於一個輕量級但是功能完善,可以無限制的進行配置的GUI的需求。
5. Akelos
Akelos PHP架構是一個基於MVC設計模式的web應用開發平台。基於良好的使用習慣,使用它可以完成如下任務:
◆方便的使用Ajax編寫views
◆通過控制器管理請求(request)及響應(response)
◆管理國際化的應用
◆使用簡單的協議與模型及資料庫通訊
你的Akelos應用可以在大多數共用主機服務供應方上運行,因為Akelos對伺服器唯一的要求就是支援PHP。因此,Akelos PHP架構是理想的用於發布單獨web應用的架構,因為它不需要非標準PHP配置便能運行。
6. Symfony
Symfony是一個用於開發PHP5項目的web應用程式框架。
這個架構的目的在於加速web應用的開發以及維護,減少重複的編碼工作。
Symfony的系統需求不高,可以被輕易的安裝在任意設定上:你只需一個Unix或Windows,搭配一個安裝了PHP5的網路伺服器即可。它與差不多所有的資料庫相容。Symfony的價位不高,相比主機上的花銷要低得多。
對於PHP開發人員而言,使用Symfony是一件很自然的事,其學習曲線只有短短一天。乾淨的設計以及代碼可讀性將縮短開發時間。開發人員可以將敏捷開發的原理(如DRY,KISS或XP等)應用在其中,將重點放在應用邏輯層面上,而不用花費大量時間在編寫沒完沒了的XML設定檔上。
Symfony旨在建立企業級的完善應用程式。也就是說,你擁有整個設定的控制權:從路徑結構到外部庫,幾乎一切都可以自訂。為了符合企業的開發條例,Symfony還綁定了一些額外的工具,以便於項目的測試,調試以及歸檔。
7. Prado
PRADO團隊由一些PRADO狂熱者組成,這些成員開發並推動PRADO架構以及相關項目的進行。
PRADO的靈感起源於Apache Tapestry。從04年開始,PRADO成為SourceForge上的開源項目之一。這個項目目前進展到了3.x版本。
8. Zend
作為PHP藝術及精神的延伸,Zend架構的基礎在於簡單,物件導向的最佳方法,方便企業的許可協議,以及經過反覆測試的快速程式碼程式庫。Zend架構旨在建造更安全,更可靠的Web 2.0應用及web服務,並不斷從前沿廠商(如Google,Amazon,Yahoo,Flickr,StrikeIron和ProgrammableWeb等)的API那裡吸收精華。
9. ZooP
Zoop PHP架構,意為Zoop物件導向的PHP架構。
這是個穩定,可伸縮並可移植的架構。從誕生到現在的5年間,已經在不少產品開發中被使用。Zoop是一個快速,有效並乾淨的架構。它的伸縮性很好,你可以只安裝你需要的功能。
對代碼並不很熟悉的開發人員也可以通過Zoop快速的開發安全的web應用。熟練的開發人員則可以更加將Zoop的彈性利用到極致。
Zoop建議將display,logic以及資料層(MVC)分開使用。
Zoop由很多組件和項目集合而成,其中包括smarty和prototype AJAX架構,PEAR模組等。高效的核心組件提供了很多你原本需要自己編碼來實現的功能。Zoop內建的錯誤修正功能可以通過配置實現生產環境下的錯誤記錄檔產生,這個錯誤記錄檔提供了很多資訊,可讀性很高,可以更輕易的尋找並排除錯誤。
Zoop的一個特別之處在於其GuiControls,在PHP中是一個相當革新的想法。它提供了很多form widgets與驗證完整的集合到一起,並形成了一個可以輕鬆打造個人化GuiControls的架構。
10. QPHP
QPHP,意為快速PHP,它是一個與ASP.NET類似的MVC架構。基本上它是這樣一個情況:
◆整合了Java和C#的美感
◆除去了在其他PHP架構中使用的Perl形式的意義含糊的語言
◆大量基於OOP的概念
From : http://fur2002.blog.163.com/blog/static/3100442009413115417133/
ThinkPHP
ThinkPHP(FCS)是一個開源的快速、相容而且簡單的物件導向的輕量級PHP開發架構,全稱是Fast,Compatible & Simple OOP PHP Framework。FCS架構是從Java的Struts結構移植過來的中文PHP開發架構,是為了簡化企業級應用開發而誕生的,使用物件導向的開發結構和MVC模式,並且類比實現了Struts的標籤庫,借鑒了國外一些不錯的思想,尤其是Java架構方面,因此熟悉Java的開發人員相對比較容易上手。在借鑒國外優秀思想的同時,FCS也更多地考慮了國內的應用開發需要。PHP4相容、完全支援UTF-8,以及PATHINFO支援等,更加有利於國內的主機環境和開發需要。FCS的宗旨是簡化開發、提高效率和易於擴充。
PHP on Trax
Php On Trax是一個採用MVC架構,適用於PHP5與PHP4環境,基於Ruby on Rails架構思想的web開發與持久層架構。它包含了建立依賴於資料庫的Web系統所需要做的所有事件,是Ruby on Rails架構的一個真正PHP複製。
Prado
PRADO是一個基於組件和事件驅動的PHP5開發架構。它以組件,事件,屬性來代替傳統web開發中的程式,URLs和查詢參數。一個PRADO組件是由一個說明檔案(XML),一個HTML模板和一個PHP類組件。一個個PRADO組件組合在一起形成大型組件或完整的PRADO頁面。PRADO具有如下特點:
- 複用性 - 符合PRADO組件標準的代碼是高度可重用的。
- 便於使用 - 使用PRADO組件非常簡單,通常只需要配置它們的屬性,編寫相關的事件處理函數。
- 健壯性 - PRADO讓開發人員不再被那些令人厭煩的有很多錯誤的的代碼所困擾。它的代碼都是有對象,方法和屬性群組成的;而不是Url地址和各種query參數。PHP5最新的Exception處理機制也被引入進來,讓開發人員能夠精確定位到錯誤碼的所在行數。
- 高效 - PRADO開發的Web應用運行很快。PRADO實現了一種緩衝機制,使用其開發的應用的運行效率能夠和那些通常使用的模版引擎開發的應用的運行效率相媲美。
- 團隊開發 - PRADO允許內容和表現方式分離。組件,尤其是頁面,將內容(邏輯)和表現方式分別儲存在不同的檔案中。
InterJinn
InterJinnTM是一個開源多層Web架構。它具有以下特點:
- session管理
- profile管理
- 運行時組件綁定
- 運行時屬性綁定
- 提供緩衝機制
- 帶有校正功能的Form引擎
- 可定製的模板系統
- 國際化支援
FastFrame
FastFrame是一個採用MVC架構,側重物件導向的Web應用開發架構。它的目標是讓開發人員快速構建簡潔,安全,強壯的Web應用系統。FastFrame提供了一些一個Web應用系統都需要的功能:身分識別驗證,Action處理,錯誤處理,多語言支援,form建立,提供各類型的Menu系統等等。
CodeIgniter
CodeIgniter是一個非常小,但很有前景的PHP開發架構。它提供了一個豐富的程式碼程式庫,其中封裝了開發web應用系統常用到的一些功能。並為存取碼庫提供簡單的介面與邏輯結構。CodeIgniter主要目的盡量精減代碼量。
Qcodo
Qcodo是一個適用于敏捷開發基於PHP5採用MVC架構與CRUD代碼產生功能的架構。完全物件導向,採用事件驅動處理方式。完全分離代碼與HTML頁面。QForms與QControl 包提供底層AJAX支援。
Binarycloud
Binarycloud是一個PHP Web開發架構。它提供一組在開發Web應用程式時經常用到的服務,並通過提供一個模組化的應用程式架構來改善複用能力。這個架構的核心是表現層系統(Node Tree),它主張從表現層邏輯中嚴格分離出商務邏輯。該Node Tree採用一種獨特的,對象可自由分層的設計方式。Smarty模板引擎是預設的表現層並緊密地結合到binarycloud架構中。
Studs
Studs是把Jakarta Struts MVC架構結構完整地移植到PHP中的一個Web開發架構。 其包括:一個核心包(Horizon:一個物件導向的環境與API)。一個Servlet容器(Stratus:一個Http Servlet容器它包含兩個核心功能web.xml解析與doService()方法調用)。一個服務頁面引擎(Phase:支援規則JSP文法,EL運算式,提供一個類似於JSTL的標籤庫用於資料操作與輸出)。整個類似於J2EE Web容器環境。
Akelos Framework
Akelos是一個類似於Ruby on Rails的PHP開發架構。它的主要目的是協助程式員依據MVC模式開發基於資料庫的多語言Web應用程式。它通過約定俗成代替配置來讓你少寫代碼。此外Akelos支援URL改寫,資料庫移植,純PHP支援Unicode,代碼產生,內建XHTML校正器,自動locale管理,Ajax檔案上傳等...
php.MVC
php.MVC實現了模型-視圖-控制器(Model-View-Controller:MVC)設計模式,並鼓勵應用程式基底於Model2設計。 php.MVC是模仿Struts的一個PHP實現,提供Struts支援的大部分功能。
ZNF
ZNF是一個PHP5 MVC架構。該項目的目的是提供一個開源架構用於開發PHP5企業Web應用程式。它的一些思想來自著名的Java MVC Web架構Apache Struts。ZNF架構的核心是一個靈活的控制層基於一些標準技術如PHP5和XML。ZNF採用自己的控制器組件然後整合其它技術來實現模型與視圖。
對於模型(model),ZNF能夠與標準的資料訪問技術相給合如:PEAR::DB。
對於視圖(view),ZNF能夠把Smarty模板引擎和XSL轉換整合到架構中。
ZNF的特點包括:
- 自訂前端控制器。
- 利用XML配置來定義運行期事件處理
- 許可權控制
- 輸入過濾和校正
- 國際化支援
- 透明的緩衝引擎
- 能夠運行在一個E_STRICT環境中
- 相容PEAR包。
Achievo ATK
Achievo ATK是一個物件導向的PHP開發架構。它讓開發人員只需關注應用邏輯,而不是編寫HTML代碼。ATK提供了一個完整的架構,只要10行代碼就能開發出一個可用的應用程式,而其它該架構將自動為產生,並完全可自己定製。ATK 常被喻為Ruby on Rails。
web.framework
web.framework是一個適用於PHP5的MVC架構。它的特性:
支援action和action-chain。
支援從action-chain調用其它action或action-chain。
提供用於簡單校正HTML Form的validator和用戶端JavaScript validator。
支援在架構配置中配置DB。
支援模板系統(比如web.template與Smarty)。
提供一個"路由器"用於把URLs地址處理成自己喜歡的形式。
支援"令牌"(token)。
提供許可權驗證架構。
支援AJAX。
等等...。
WACT
WACT很有潛力,架構的基件它一應俱全,像MVC、資料庫物件和模板引擎,不過僅此而已。它沒有任何外掛模組,同時也缺少一些內建的功能,例如Ajax、緩衝、驗證模組,等等。儘管如此,WACT還是擁有最好的模板引擎,甚至可以協助你建立自己的模板標籤來擴充功能。
CakePHP
CakePHP是一個運用了諸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名設計模式的快速開發架構。該項目主要目標是提供一個可以讓各種層次的PHP開發人員快速地開發出健壯的Web應用,而又不失靈活性。
主要特性:
基於MVC架構
視圖支援Ajax
內建校正架構
提供應用程式的基礎模組和CRUD 代碼自動產生功能
提供處理session,request,security的組件
靈活的視圖緩衝功能
物件導向
無需配置:只要安裝好資料庫
相容PHP4和PHP5。
SolarPHP
Solar是一個適用於PHP5的簡單對象包與應用程式庫。換句話說,Solar是一個組合類別包,組件庫,web應用開發架構。Solar為基於web的快速開發提了供一些簡單,易於組合的基礎類和組件。Solar使用的思想來自Savant模板引擎,DB_Table對象/關係管理組件和Yawp最容易的開發架構。
Smutty
Smutty是一個圍繞Smarty模板引擎構建的MVC PHP開發架構。提供使用者身分識別驗證和session處理,Ajax/DHTML組件(form,drag和drop,link),資料訪問抽象層,模型(model)校正機制,自訂轉向"路由",整合單元測試等。
struts4php
struts4php是一個採用MVC模式設計的PHP開發架構。它的思想主要是來自Apache Struts架構。Struts4php的使用非常類似於Struts,所以對於已經熟悉Apache Struts的開發人員來說學習如何使用struts4php是非常容易的。
symfony
symfony是一個開源的PHP Web架構。基於最佳Web開發實踐,已經有多個網站完全採用此架構開發,symfony的目的是加速Web應用的建立與維護。它的特點如下:
- 簡單的模板功能
- 緩衝管理
- 自訂URLs
- 搭建了一些基礎模組
- 多語言與I18N支援
- 採用物件模型與MVC分離
- Ajax支援
- 適用於公司專屬應用程式開發。