Ⅰ php框架的PHP框架TOP10
排名前 10 並且最受歡迎的 PHP 框架(排名不分先後)。
Laravel
這款可能是現在最受歡迎的 PHP 框架,Laravel 非常強大,而且很高雅,易於學習和使用。非常值得一試!
Flight
Flight 是一個快速,簡單,可擴展的微型 PHP 框架,允許用戶快速的構建 RESTful web 應用,同樣易於學習和使用,簡單但是很強大!
Yii
Yii 是個高性能的 PHP 框架,用來開發 Web 2.0 應用程序,Yii 擁有很豐富的特性: MVC,DAO/ActiveRecord ,I8N/L10N,緩存,身份認證,基於用戶角色的訪問控制,scaffolding和測試等等。
Medoo
Medoo 是最輕的 PHP 資料庫,只包括了一個10,9kb 的文件,一個很強大的適用於簡單的 web 小應用開發的微型框架。
PHPixie
這個框架源於 Kohana 框架,是我最喜歡的框架了:兼容 MVC,能快速掌握,強大,你也應該試一試!
CodeIgniter
雖然是個比較老的框架,也快被淘汰了,但是我還是很喜歡這個強大的 MVC 框架 CI,無數次在我的項目中使用它,從來也沒對它失去信心,依然是我不變的選擇!
Kohana
Kohana 是個開源的,面向對象的 MVC web 框架,是使用 PHP5 來構建的。這個框架是由一群志願者隊伍開發的,他們致力於迅速,安全和小。
Symfony
這個框架是在 2005 年創建,是個非常強大的 MVC 框架,在企業界是非常受歡迎的。Symfony 是收到眾多的 web 應用框架啟發的:Ruby on Rails,Django 和 Spring ,它可能是最完整的 PHP 框架了。
Pop PHP
很多 PHP 框架很漂亮也很復雜,Pop 的建立是考慮到所有經驗層次的,提供了一系列可管理的學習曲線給初學者熟悉 PHP 的基礎,同時又提供了健壯和強大的功能給有經驗的 PHP 開發者。大小小於 2MB。
Phalcon
Phalcon 是一個開源的,滿棧的 PHP 框架,使用 PHP 5 類似 C 擴展的語言來編寫的高性能框架。用戶不需要會用 C 語言,Phalcon 會提供 PHP 類。Phalcon 是鬆散耦合,用戶可以隨意使用組件來創建 web 應用。
Ⅱ PHP的性能探討和測試
緣起
關於PHP 很多人的直觀感覺是PHP是一種靈活的腳本語言 庫類豐富 使用簡單 安全 非常適合WEB開發 但性能低下 PHP的性能是否真 的就如同大家的感覺一樣的差呢?本文就是圍繞這么一個話題來進行探討的 從源碼 應用場景 基準性能 對比分析等幾個方面深入分析PHP之性能問題 並通 過真實的數據來說話
從原理分析PHP性能
從原理分析PHP的性能 主要從以下幾個方面 內存管理 變數 函數 運行機制來進行分析
內存管理
類似Nginx的內存管理方式 PHP在內部也是基於內存池 並且引入內存池的生命周期概念 在內存池方面 PHP對PHP腳本和擴展的所有內 存相關操作都進行了託管 對大內存和小內存的管理採用了不同的實現方式和優化 具體可以參考以下文檔 在內存分配和回收的生命周期內 PHP採用一次初始化申請+動態擴容+內存標識回收機制 並且在每次請求結束後直 接對內存池進行重新mask
變數
總所周知 PHP是一種弱變數類型的語言 所以在PHP內部 所有的PHP變數都對應成一種類型Zval 其中具體定義如下
圖一PHP變數
在變數方面 PHP做了大量的優化工作 比如說Reference counting和 on writer機制 這樣能夠保證內存使用上的優化 並且減少內存拷貝次數(請參考) 在數組方面 PHP內部採用高效的hashtable來實現
函數
在PHP內部 所有的PHP函數都回轉化成內部的一個函數指針 比如說擴展中函數
ZEND_FUNCTION(my_function);//類似functionmy_function(){}
在內部展開後就會是一個函數
voidzif_my_function(INTERNAL_FUNCTION_PARAMETERS);
voidzif_my_function(
intht
zval*return_value
zval*this_ptr
intreturn_value_used
zend_executor_globals*executor_globals
);
從這個角度來看 PHP函數在內部也是對應一個函數指針
運行機制
在話說PHP性能的時候 很多人都會說「C/C++是編譯型 JAVA是半編譯型 PHP是解釋型」 也就是說PHP是先動態解析再代碼運行的 所以從這個角度來看 PHP性能必然很差
的確 從PHP腳本運行來輸出 的確是一個動態解析再代碼運行的過程 具體來說 PHP腳本的運行機制如下圖所示
圖二 PHP運行機制
PHP的運行階段也分成三個階段
Parse 語法分析階段
Compile 編譯產出opcode中間碼
Execute 運行 動態運行進行輸出
所以說 在PHP內部 本身也是存在編譯的過程 並且據此產生了大量的opcode cache工具 比如說apc eacc xcache等等 這些opcode cache在生產環境基本上在標配 基於opcode cache 能到做到「PHP腳本編譯一次 多次運行」的效果 從這點上 PHP就和JAVA的半編譯機制非常類似
所以 從運行機制上來看 PHP的運行模式和JAVA是非常類似的 都是先產生中間碼 然後運行在不同虛擬機上
動態運行
從上面的幾個分析來看 PHP在內存管理 變數 函數 運行機制等幾個方面都做了大量的工作 所以從原理來看 PHP 不應該存在性能問題 性能至少也應該和Java 比較接近
這個時候就不得不談PHP動態語言的特性所帶來的性能問題了 由於PHP是動態運行時 所以所有的變數 函數 對象調用 作用域實現等等都是在 執行階段中才確定的 這個從根本上決定了PHP性能中很難改變的一些東西 在C/C++等能夠在靜態編譯階段確定的變數 函數 在PHP中需要在動態運行 中確定 也就決定了PHP中間碼不能直接運行而需要運行在Zend Engine上
說到PHP變數的具體實現 又不得不說一個東西了 Hashtable Hashtable可以說在PHP靈魂之一 在PHP內部廣泛用到 包含變數符號棧 函數符號棧等等都是基於hashtable的
以PHP變數為例來說明下PHP的動態運行特點 比如說代碼
<?php
$var=「hello blog xiuwz 」;
?>
該代碼的執行結果就是在變數符號棧(是一個hashtable)中新增一個項
當要使用到該變數時候 就去變數符合棧中去查找(也就是變數調用對出了一個hash查找的過程)
同樣對於函數調用也基本上類似有一個函數符號棧(hashtable)
其實關於動態運行的變數查找特點 在PHP的運行機制中也能看出一些 PHP代碼通過解釋 編譯後的流程下圖
圖 PHP運行實例
從上圖可以看出 PHP代碼在pile之後 產出的了類符號表 函數符號表 和OPCODE 在真正執行的時候 zend Engine會根據op code去對應的符號表中進行查找 處理
從某種程度上 在這種問題的上 很難找到解決方案 因為這是由於PHP語言的動態特性所決定的 但是在國內外也有不少的人在尋找解決方案 因為 通過這樣 能夠從根本上完全的優化PHP 典型的列子有facebook的hiphop
結論
從上面分析來看 在基礎的內存管理 變數 函數 運行機制方面 PHP本身並不會存在明顯的性能差異 但由於PHP的動態運行特性 決定了 PHP和其他的編譯型語言相比 所有的變數查找 函數運行等等都會多一些hash查找的CPU開銷和額外的內存開銷 至於這種開銷具體有多大 可以通過後 續的基準性能和對比分析得出
因此 也可以大體看出PHP不太適合的一些場景 大量計算性任務 大數據量的運算 內存要求很嚴格的應用場景 如果要實現這些功能 也建議通過擴展的方式實現 然後再提供鉤子函數給PHP調用 這樣可以減低內部計算的變數 函數等系列開銷
基準性能
對於PHP基準性能 目前缺少標準的數據 大多數同學都存在感性的認識 有人認為 QPS就是PHP的極限了 此外 對於框架的性能和框架對性能的影響很沒有響應的權威數字
本章節的目的是給出一個基準的參考性能指標 通過數據給大家一個直觀的了解
具體的基準性能有以下幾個方面
裸PHP性能 完成基本的功能
裸框架的性能 只做最簡單的路由分發 只走通核心功能
標准模塊的基準性能 所謂標准模塊的基準性能 是指一個具有完整服務模塊功能的基準性能
環境說明
測試環境
Uname aPnux db forum test db _ # SMP Wed Aug : : CST x _ x _ x _ GNU/PnuxRed Hat Enterprise Pnux AS release (Nahant Update )
Intel(R) Xeon(R) CPU E @ GHz
軟體相關
Nginx nginx version: nginx/ built by gcc (Red Hat )Php (採用php fpm)
PHP (cP) (built: Mar : : )
Copyright (c) The PHP Group
Zend Engine v Copyright (c) Zend Technologies
with eAccelerator v Copyright (c) eAccelerator by eAccelerator
bingo
PHP框架
其他說明
目標機器的部署方式 nginx >php fpm >php腳本
測試壓力機器和目標機器獨立部署
裸PHP性能
最簡單的PHP腳本
<?php
require_once『 /actions/indexAction php』;
$objAction=newindexAction();
$objAction >init();
$objAction >execute();
?>
Acitons/indexAction php裡面的代碼如下
<?php
classindexAction
{
pubPcfunctionexecute()
{
echo『hello world!』;
}
}
?>
通過壓力工具測試結果如下
裸PHP框架性能
為了和 的對比 基於bingo 框架實現了類似的功能 代碼如下
<?php
require_once『Bingo/Controller/Front php』;
$objFrontController=Bingo_Controller_Front::getInstance(array(
『actionDir』=>『 /actions』
));
$objFrontController >dispatch();
壓力測試結果如下
從該測試結果可以看出 框架雖然有一定的消耗 但對整體的性能來說影響是非常小的
標准PHP模塊的基準性能
所謂標准PHP模塊 是指一個PHP模塊所必須要具體的基本功能
路由分發
自動載入
LOG初始化&Notice日誌列印 所以的UI請求都一條標準的日誌
錯誤處理
時間校正
自動計算每個階段耗時開銷
編碼識別&編碼轉化
標准配置文件的解析和調用
採用bingo 的代碼自動生成工具產生標準的測試PHP模塊 test
測試結果如下
結論
從測試數據的結論來看 PHP本身的性能還是可以的 基準性能完全能夠達到幾千甚至上W的QPS 至於為什麼在大多數的PHP模塊中表現不佳 其實這個時候更應該去找出系統的瓶頸點 而是簡單的說OK PHP不行 那我們換C來搞吧 (下一個章節 會通過一些例子來對比 採用C來處理不見得有特 別的優勢)
通過基準數據 可以得出以下幾個具體的結論
PHP本身性能也很不錯 簡單功能下能夠達到 QPS 極限也能過W
PHP框架本身對性能影響非常有限 尤其是在有一定業務邏輯和數據交互的情況下 幾乎可以忽略
一個標準的PHP模塊 基準性能能夠達到 QPS( cpu idle)
對比分析
lishixin/Article/program/PHP/201311/21287
Ⅲ php框架yaf好還是Laravel好
1、從性能上考慮 yaf是用c語言開發的,效率比laravel高很多倍
2、從社區上考慮 yaf是鳥哥寫的,有任何問題,鳥哥都會支持。 laraval用的人比較多,所以這一項基本持平。
3、使用方面,laraval有很多組件可以用,但都是composer引用的。yaf也可以。
4、調試方面 yaf代碼簡潔,調試也很簡單。 laraval代碼臃腫, 對編輯器不友好。不好調試
綜合考慮:推薦使用yaf
Ⅳ PHP的哪個MVC框架最值得推薦
1、Laravel,laravel這個框架很有意思,定時任務,數據遷移,大概你能在web中想到的功能這個框架都可以提供,它的路由借鑒了Ruby on Rails 和python的flask框架,但是還提供了web方面其它的一些功能,你可以把它想像成PHP中像Java一樣強大的Web中的瑞士軍刀,前提是你不考慮性能,因為它的實現使用了大量的閉包和反射,大概在PHP里嚴格引入設計模式的也只有這個了。
生產效率:5星
學習難度:5星(5星為最難,學習成本最高,下同)
性能:2星
社區活躍:4星(社區活躍可以很方便的找到別人已經開發的功能,專指中文文檔,組件豐富性)
2、ThinkPHP5,大概3年前研究過TP3源碼,使用起來簡單,因為自動載入的問題,性能是個坑,現在發展到5,個人認為已經是一個相當優秀的框架了,路由定義簡單,配置簡單,文檔豐富,社區也相當活躍
生產效率:5星
學習難度:1星
性能:4星
社區活躍:4星
3、Yii2,Yii2的路由分發跟TP5稍微有點不一樣,也使用了反射的功能,自動載入現在都使用的composer,大體上都差不多,都有延時載入,Yii2的路由相對智能一些,不用去手動維護,類似於TP3所以使用起來也是很方便,性能比TP5應該略差點,沒測試過,從源碼來看
生產效率:5星
學習難度:2星
性能:3.5星
社區活躍:4星(很多強大的組件,你只要下載就行了,會省很多事)
4、CakePHP,這個框架內部的封裝性看上去沒上面那幾個優美,但是它自己實現了use關鍵字功能,所以兼容性來看應該是比上面那幾個好點的,但這在新項目上應該不是問題,新項目上PHP7,啥都別想,准沒錯。它的路由定義類似於TP5但是稍微多點功能,不過其實是個雞肋。中文文檔就不說了,很不好找。不過也算是個相對簡單的框架嚴格遵循MVC
生產效率:3星
學習難度:3星
性能:4星
社區活躍:2星
5、Workman,這個框架相當強大,如果你要實現一些復雜的協議或者用php做一些websocket推送或者TCP/UDP伺服器的話,這個框架可能可以滿足你的需求,也有一些非同步的組件,比較高級的框架,初中級程序員可能用不上
生產效率:3星
學習難度:4星
性能:3星
社區活躍:2星
6、swool,這是個相當有意思的框架,性能很強大,旁友,你聽說過非同步編程的nodejs,python的tornado框架嗎,這個在php里做的就是一個這樣的事情,國內的一位老兄開發的C擴展,用php來非同步編程,看了下文檔,稍微做了個性能測試,相當優秀,就是不知道在項目中重度使用會不會踩到什麼坑,而且這也是一個相當高級的框架。大部分人可能直接轉node了吧,畢竟node生態環境已經相當好了,總之,如果你想用php試試非同步編程來提高性能,非這個框架莫屬。性能獨一檔,編程難度也相對高一些,你需要有些進程的理論基礎
生產效率:3星
學習難度:4星
性能:6星
社區活躍:2星
7、Yaf,鳥哥寫的c擴展框架,然而你要自己實現很多輪子,生態環境是個大問題。
生產效率:4星
學習難度:4星
性能:5.5星
社區活躍:2星
其它框架還沒怎麼了解,國內的話,根據具體業務,選上面幾個,沒錯。
Ⅳ 新手學習thinkphp6還是thinkphp5比較好
thinkphp5好
ThinkPHP5是一個全新的里程碑版本,包括路由、日誌、異常、模型、資料庫、模板引擎和驗證等模塊都已經重構,不適合原有3.2項目的升級,請慎重考慮商業項目升級,但絕對是新項目的首選(無論是WEB還是API開發),而且最好是忘記3.2版本的思維習慣,重新理解TP5。
Ⅵ 國外主流PHP框架對比評測
最近簡單的使用了目前在國內用的比較多的幾個主流國外PHP框架(不包括國內框架) 大致對這些框架有個直觀上的感受 簡單分享一下 對於哪些做框架選型的時候 權當一個參考
主要參考的框架包括 CodeIgniter CakePHP ZendFramework Symfony 我對很多框架也沒有認真使用 只是簡單試用了一下 可能很多看法不成熟或者是錯誤的 請大家指正 一起成長
CodeIgniter
優點
配置簡單 全部的配置使用PHP腳本來配置 執行效率高 具有基本的路由功能 能夠進行一定程度的路由 具有初步的Layout功能 能夠製作一定程度的界面外觀 資料庫層封裝的不錯 具有基本的MVC功能
快速簡潔 代碼不多 執行性能高 框架簡單 容易上手 學習成本低 文檔詳細 自帶了很多簡單好用的library 框架適合小型應用
缺點
把Model層簡單的理解為資料庫操作
框架略顯簡單 只能夠滿足小型應用 略微不太能夠滿足中型應用需要
評價
總體來說 拿CodeIgniter來完成簡單快速的應用還是值得 同時能夠構造一定程度的layout 便於模板的復用 數據操作層來說封裝的不錯 並且CodeIgniter沒有使用很多太復雜的設計模式 執行性能和代碼可讀性上都不錯 至於附加的 library 也還不錯 簡潔高效
CakePHP
優點
CakePHP是最類似於RoR的框架 包括設計方式 資料庫操作的Active Record方式 設計層面很優雅 沒有自帶多餘的 library 所有的功能都是純粹的框架 執行效率還不錯 資料庫層的 hasOne hasMany 功能很強大 對於復雜業務處理比較合適 路由功能 配置功能還不錯 自動構建腳手架(scaffold)很強大 適合中型應用 基本實現過了MVC每一層 具有自動操作命令行腳本功能
文檔比較全 在國內推廣的比較成功 大部分都知道CakePHP 學習成本中等
缺點
CakePHP非常嚴重的問題是把Model理解為資料庫層操作 嚴重影響了除了資料庫之外的操作能力
CakePHP的cache功能略顯薄弱 配置功能稍嫌弱 CakePHP不適合大型應用 只適合中型應用 小型應用來說略微的學習成本高了點
評價
總體來說CakePHP框架代表了PHP框架很重要的一個時代和代表 並且目前發揮著很重要的作用 不少自己寫的框架都模仿了CakePHP的方式 是個里程碑式的產品 CakePHP透露著RoR的敏捷開發方式和把資料庫操作認為是唯一Model的設計思想 作為開發快速應用和原型是絕好的工具 同樣 用來做Web 網站的開發框架 也是值得選擇的
Zend Framework
優點
官方出品 自帶了非常多的 library 框架本身使用了很多設計模式來編寫 架構上很優雅 執行效率中等 MVC設計中 比較簡潔 具有路由功能 配置文件比較強大(能夠處理XML和php INI) 各種 library 很強大 是所有PHP框架中各種功能最全面的 包括它不僅是一個框架 更是一個大類庫(取代PEAR) 這是它的主要特色 能夠直觀的支持除資料庫操作之外的Model層(比 CodeIgniter 和 CakePHP 強) 並且能夠很輕易的使用Loader功能載入其他新增加的Class Cache功能很強大 從前端Cache到後端Cache都支持 後端Cache支持Memcache APC SQLite 文件等等方式 資料庫操作功能很強大 支持各種驅動(適配器)
文檔很全 在國內社區很成熟 並且目前不少Web 網站在使用 學習成本中等
缺點
MVC功能完成比較弱 View層簡單實現(跟沒實現一樣) 無法很強大的控制前端頁面
沒有自動化腳本 創建一個應用 包括入口文件 全部必須自己手工構建 入門成本高
Zend Framework 作為一個中型應用框架問題不大 也能夠勉強作為大型應用的框架 但是作為一個很成熟的大型PHP框架來說 還需要一些努力
評價
作為官方出品的框架 Zend Framework的野心是可以預見的 想把其他框架擠走 同時封裝很多強大的類庫 能夠提供一站式的框架服務 並且他們的開發團隊很強大 完全足夠有能力開發很強大的產品出來 所以基本可以確定的是Zend Framework前途無量 如果花費更多的時間去完善框架 同樣的 Zend Framework架構本身也是比較優雅的 說明Zend官方是有很多高手的 設計理念上比較先進 雖然有一些功能實現的不夠完善 比如View層 自動化腳本等等 這些都有賴於未來的升級 總體來說Zend Framework是最值得期待的框架 當然 你目前要投入你的項目中使用也是完全沒問題的
Symfony
優點
Symfony 是我了解的PHP框架中功能最強大的 而且我使用時間比較長 但是很多功能還是沒有挖掘出來 它完整實現了MVC三層 封裝了所有東西 包括 $_POST $_GET 數據 異常處理 調試功能 數據檢測 包含強大的緩存功能 自動載入Class(這個功能很爽) 強大的i n國家化支持 具有很強大的view層操作 能夠零碎的包含單個多個文件 非常強大的配置功能 使用yml配置能夠控制所有框架和程序運行行為 強大到讓人無語 能夠很隨意的定義各種自己的class 並且symfony能夠自動載入(auto load)這些class 能夠在程序中隨意調用 包含強大的多層級項目和應用管理 Project > Application > Mole > Action 能夠滿足一個項目下多個應用的需要 並且每層可以定義自己的類庫 配置文件 layout 非常強大的命令行操作功能 包括建立項目 建立應用 建立模塊 刷新緩存等等
Symfony絕對是開發大型復雜項目的首選 因為使用了Symfony 將大大節約開發成本 並且多人協作的時候 不會出現問題 在Project級別定義好基礎Class以後 任何模塊都能夠重用 大大復用代碼
缺點
資料庫操作model採用了重量級的propel和creole 不過在我測試的版本中已經把他們移到了addon里 可用可不用
緩存功能無法控制 每次開發調試總是緩存 需要執行 symfony cc symfony rc 來清除和重建緩存
效率不是很高 特別是解析模板和讀取配置文件的過程 花費時間不少
學習成本很高 並且國內沒有成熟的社區和文檔 連中文手冊都沒有 相應的要掌握所有功能 需要花費比較多的時間
評價
Symfony絕對是企業級的框架 唯一能夠貌似能夠跟Java領域哪些強悍框架抗衡的東西 強悍的東西 自然學習復雜 但是相應的對項目開發也比較有幫助 自然是推薦復雜的項目使用Symfony來處理 覺得是值得 後期的維護成本比較低 復用性很強 相應的如果使用Symfony的應該都是比較復雜的互聯網項目 那麼相應的就要考慮關於資料庫分布的問題 那麼就需要拋棄Symfony自帶的資料庫操作層 需要自己定義 當然了 Symfony支持隨意的構造model層
總結
以上數款框架 各有特色 而且都是開源項目 不過框架針對的項目不一樣 一般來說 CodeIngiter 比較適合小型項目 CakePHP 和 Zend Framework 比較適合中型項目 Symfony 比較適合大型重量級項目 在項目選型的時候 要充分考慮框架的可以定製性 擴展性 因為每個項目都無法確定你是否會隨著需求的變化進行改變
相對來說 Zend Framework 和 Symfony 應對變化的能力比較強 特別是能夠隨意定製 model 層的Class 能夠非常方便增加自己業務或者數據處理類 我是個人比較推薦在中大型項目中使用的框架
CodeIngiter 和 CakePHP 在中小型項目中同樣能夠發揮重大作用 快速開發和原型構建 非常適合目標不清晰的原型項目的開發
當然了 也許 自己寫一個框架更適合
lishixin/Article/program/PHP/201311/21441
Ⅶ 當今流行的PHP框架中各自都有什麼特點,優缺點都在哪
以下為十個目前最流行的基於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的概念
Ⅷ PHP 框架哪個更好一點CodeIgniter 怎麼樣
這兩種框架都接觸過~個人感覺CI和Cake相比較CI在性能上要優秀一點,源碼也更優雅~CAKE的支持功能較多,但代價就是運行時需要載入過多的資源,束縛相對多一點,顯得有點笨重~所以CI還是值得一試的。
Ⅸ PHP哪個框架最好
二話不說先來一個 Github 上 PHP 開源項目的排名 Search · stars:>0 · GitHub , 好有個概念.
大家的回答都比較老了, 現在是 2014 年 8 月下旬, PHP 最近這幾年還是發生了很多變化, 尤其是 Laravel 的出現, 讓很多已經開始放棄 PHP 的人又從新回到 PHP 的懷抱.
離開 PHP 是因為覺得社區就是一盤散沙, 大家各種為戰, 當我想學個框架, 來提高生產效率的時候, 上 Google 一搜, 出來的就是
50個你必須了解的 PHP 框架>
<10個最有名的 PHP 框架>....
真的很嚇人, 這么多的框架, 我無從入手.
最後我下定決心, 把每一個框架都學習一遍, 真正在學習的時候, 頭又大了, 每一個框架都有不同的代碼規范, 不同的架構, 不同 "功能一樣調用方式不一樣的函數方法" , 可以這么說
每一個框架都在發明屬於自己的語言
在學到第五個框架的時候, 我就決定放棄了, 因為, 我覺得, 我雖然年輕, 但是不至於時間如此廉價的浪費掉.
後來一直聽說 Ruby 社區有一個叫 Ruby on Rails 的 Web 框架, 是全世界最好的框架, 為了用上最好的框架我開始學習 Ruby 直到接觸 Rails, 還記得第一次用 Rails 寫 Demo App 的時候, 熱淚盈眶呀, 多麼好的設計, 並且最重要的, Rails 的社區是如此理智, 大家喊得口號是
Convention over configuration;
DRY - Don't Repeat You;
KISS - Keep it simple and stupid;
Don't reinventing the wheel;
Optimized for programmer happiness and sustainable proctivity
多麼智慧, 多麼聰明, 又是多麼簡單的一些想法, 我瘋狂的愛上了 Rails.
2012 年末, 無意間在 Tuts+ 網站上看到 Jeffrey Way 的一套 Laravel 3 Essentials ( 注意: Laravel 現在已經是 Laravel 4 了, 這套課程已經 out dated 了 ) 課程, 看完以後對 Laravel 印象深刻, 從那會就一直留意 Laravel 的發展.
2013 年 6 月份, Laravel 4 發布, 集成了 Composer, 框架的可擴展性極高, 還有 100% full testing coverage.
關於 Laravel 4 的好, 我在這個問題裡面已經講了 最好的 PHP 框架是什麼?為什麼? , 就不復制過來了.
Laravel China:
Laravel China is ready Laravel 中文文檔 , 歡迎發起 issue 提交紕漏 和建議 --> Laravel China · GitHub