php常見的框架及優缺點分析

PHP語言還是比較常用到的一門計算機高級語言。我們將會在這篇文章中向大家主要介紹關於PHP框架相關優缺點評比,作爲一個參考風險給朋友們。

php常見的框架及優缺點分析

主要參考的PHP框架包括:CodeIgniter、CakePHP、ZendFramework、Symfony。我對很多框架也沒有認真使用,只是簡單試用了一下,可能很多看法不成熟或者是錯誤的,請大家指正,一起成長。

  CodeIgniter

  優點:

1. 配置簡單,全部的配置使用PHP腳本來配置,執行效率高;具有基本的路由功能,能夠進行一定程度的路由;具有初步的Layout功能,能夠製作一定程度的界面外觀;數據庫層封裝的不錯,具有基本的MVC功能

2. 快速簡潔,代碼不多,執行性能高,PHP框架簡單,容易上手,學習成本低,文檔詳細;自帶了很多簡單好用的library,框架適合小型應用

  缺點:

1. 把Model層簡單的理解爲數據庫操作

2. PHP框架略顯簡單,只能夠滿足小型應用,略微不太能夠滿足中型應用需要

  評價:

總體來說,拿CodeIgniter來完成簡單快速的應用還是值得,同時能夠構造一定程度的layout,便於模板的複用,數據操作層來說封裝的不錯,並且CodeIgniter沒有使用很多太複雜的設計模式,執行性能和代碼可讀性上都不錯。至於附加的 library 也還不錯,簡潔高效

  CakePHP

  優點:

1. CakePHP是最類似於RoR的PHP框架,包括設計方式,數據庫操作的Active Record方式;設計層面很優雅,沒有自帶多餘的 library,所有的功能都是純粹的框架,執行效率還不錯;數據庫層的 hasOne, hasMany 功能很強大,對於複雜業務處理比較合適;路由功能,配置功能還不錯;自動構建腳手架(scaffold)很強大;適合中型應用;基本實現過了MVC每一層;具有自動操作命令行腳本功能;

2. 文檔比較全,在國內推廣的比較成功,大部分都知道CakePHP,學習成本中等

  缺點:

1. CakePHP非常嚴重的問題是把Model理解爲數據庫層操作,嚴重影響了除了數據庫之外的操作能力

2. CakePHP的cache功能略顯薄弱,配置功能稍嫌弱;CakePHP不適合大型應用,只適合中型應用,小型應用來說略微的學習成本高了點

評價:

總體來說CakePHP框架代表了PHP框架很重要的一個時代和代表,並且目前發揮着很重要的作用,不少自己寫的框架都模仿了CakePHP的方式,是個里程碑式的產品;CakePHP透露着RoR的敏捷開發方式和把數據庫操作認爲是唯一Model的設計思想,作爲開發快速應用和原型是絕好的工具;同樣,用來做Web2.0網站的'開發框架,也是值得選擇的。

Zend Framework

  優點:

1. 官方出品,自帶了非常多的 library,框架本身使用了很多設計模式來編寫,架構上很優雅,執行效率中等;MVC設計中,比較簡潔,具有路由功能,配置文件比較強大(能夠處理XML和php INI),各種 library 很強大,是所有PHP框架中各種功能最全面的,包括它不僅是一個PHP框架,更是一個大類庫(取代PEAR),這是它的主要特色;能夠直觀的支持除數據庫操作之外的Model層(比 CodeIgniter 和 CakePHP 強),並且能夠很輕易的使用Loader功能加載其他新增加的Class;Cache功能很強大,從前端Cache到後端Cache都支持,後端Cache支持Memcache、APC、SQLite、文件等等方式;數據庫操作功能很強大,支持各種驅動(適配器)

2. 文檔很全,在國內社區很成熟,並且目前不少Web 2.0網站在使用,學習成本中等