主要涉及到的框架有
CodeIgniter 老品牌易用性框架
yaf 鳥哥用c寫的php擴展,高性能框架
yii 自動生成代碼(gii)
laravel 號稱最優雅的框架
swoole framework 支持swoole擴展的框架
kohana 脫身與CI 2,基於hmvc模式的框架
thinkphp 國產易用工具
自定義框架(只提供route、autoload、db、redis、mvc、config及其他常見類庫封裝)
以上框架使用的均為最新版本
評測方式
考慮到公司級別項目開發,需要把框架獨立到某目錄下,其他項目的入口文件統一讀取此目錄內的框架資源
controller中再入view並傳遞title,view中直接echo $title,關閉debug等其他調試開關
siege -c 500 -t 5s 並發500持續5s
php7環境下,2.5GHZi7 16G內存
性能
毫無疑問鳥哥的yaf最高
自定義框架由於極少的代碼量,表現也很好,做不得數
其次是rango老大的swoole framework
之后是CI>thinkphp>kohana>yii>laravel
由於我對yii並不熟悉,如有優化點請告知重新進行評測
安裝
ci和kohana使用的還是熟悉的安裝方式,解壓zip,安裝使用起來毫無問題
yaf使用phpize安裝也毫無難度
關於YII 2,讓我驚訝無比,不得不拿出來單獨說一下
安裝 深深的感覺自己的智商已欠費
1. 官網推薦composer安裝一個basic版,由於國內環境,時間過長,附帶一堆亂七八糟的東西看着煩
2. 抽出獨立的yii-soft失敗,提示錯誤,暫時未找到解決方案(最后發現是layout的問題,已解決)
3. basic版本安裝完成后給我看你的那么復雜的歡迎頁是幾個意思?
4. 我改了controller和view,為什么還被侵入了你的樣式(后查推測跟view中的layout目錄有關,查文檔得知需要手動layout=false)
5. layout關了為什么壓測性能下降了那么多
關於框架的思考
通過這些年的工作和項目經驗,我認為框架只要提供好幾個功能點就足夠了
1. autoload
2. dev/pro分離(包括config自動載入不同目錄下)
3. mvc(不需要所謂的Smarty等模板引擎,php語法足夠優秀易懂)
4. db/redis/orm(ORM可以實現讀寫分離,錦上添花而已,畢竟有中間層可以更專業的解決這個問題)
5. router
有大神指點,還需要di、面向接口實現類、完整的單元測試
像腳手架一類的東西,真的是框架該做的么?就算提供了,公司級別的項目又是否用得到,是否敢信任框架幫你生成的代碼。
基於上述思考,我才自己開發了simple框架(git:https://github.com/bingxuecandong/simple/tree/new_simple 歡迎提供建議及吐槽),提供自己日常編碼、項目使用已經足夠,開發效率並不低,跟其他主流開源框架一起評測也是聊以慰藉了。











