我認為WEB開發(fā)多數情況下是敏捷開發(fā),因此選擇框架是大致可以考慮以下幾點:
1. 開發(fā)迅速 : 基礎組件齊全且不累贅,框架的設計哲學可以助人快速寫出優(yōu)雅且高效地代碼(相對而言)
2. 文檔簡明豐富和社區(qū)活躍 : 文檔不是多就好,精心規(guī)劃的文檔內容組織和簡明到位的排版可以大量降低框架的學習成本,比單純的求多求全堆砌內容高明很多。活躍的社區(qū)可以確保問題被快速響應,擁有大量工具模塊
3. 邏輯清晰 : 框架的代碼邏輯清晰,代碼的目錄結構清晰,輕松地協作開發(fā)和代碼重用
4. 可擴展和無痛版本更新 :核心代碼低耦合,便于擴展,框架設計有預見性,版本升級無需大功干戈
5. 便于測試 : 一般來說滿足了 4 ,測試都不會是大問題,Codeception,phpunit 這種第三方測試工具很多
6. 性能 : 大多數WEB應用無需考慮框架層面的性能問題,當你真的需要考慮框架性能問題的時候,也有很多平滑地解決方案
7. 無重大BUG漏洞:這個當然最重要,不過一般來說成熟的開源框架不會有這個問題,放最后
做一些簡單的網站后臺,個人建議TP或者CI
laravel的組件式開發(fā),全程采用composer進行安裝。屬于重量級框架,語法優(yōu)雅,Laravel版本升級迭代,對于業(yè)務代碼改動量很小
在架構方面,已基本做到現有Php框架最佳,擴展性,伸縮性強大得一塌糊涂,非常適合團隊作戰(zhàn)。
Laravel的內核擴展其實也非常方便(這么強大的框架你沒事干嘛去擴展內核:D),只不過它少量內核類的耦合度較高,你需要花點時間讀讀源碼和API。如果是自定義類,那就完全沒問題,太方便了。
核心功能大量使用Composer第三方類庫,在很多人看來這是Laravel的弊病之一,但我認為這正是其優(yōu)雅設計哲學之體現。所謂術業(yè)有專攻,專業(yè)的人做專業(yè)的事,成熟的第三方類庫往往是專業(yè)團隊經過長時間迭代打磨的成果,比如Laravel大量選用的symfony組件,日志庫 monolog,時間庫 carbon 都是該類別最穩(wěn)定流行的庫。
我相信,短暫嘗試后,很快你便會愛上Laravel,同時會愛上Composer的便捷。
ThinkPHP,國產,非常輕量級的東西.
ThinkPHP是為了簡化企業(yè)級應用開發(fā)和敏捷WEB應用開發(fā)而誕生的,ThinkPHP能夠解決應用開發(fā)中的大多數需要,因為其自身包含了底層架構、兼容處理、基類庫、數據庫訪問層、模板引擎、緩存機制、插件機制、角色認證、表單處理等常用的組件,并且對于跨版本、跨平臺和跨數據庫移植都比較方便。并且每個組件都是精心設計和完善的,應用開發(fā)過程僅僅需要關注您的業(yè)務邏輯。
CI比較接近原生的PHP,在原有PHP代碼的基礎上封裝了很多類,因為它架構簡單,所以容易擴展。從另一個角度來看,也就是沒啥架構,最最原始的三層架構。
當年接觸CI之后,才頓時覺得原來PHP開發(fā)可以這樣爽。它的MVC架構以及對擴展的支持都使應用開發(fā)變得很簡單。
Yii ? Codeigniter 等等