本篇文章我們來講講php四大框架的優(yōu)缺點(diǎn)都有哪些,讓你們?cè)陂_發(fā)中更好的去選擇使用哪款php框架去完成項(xiàng)目,廢話不多說,我們一起來看看吧??!
thinkphp
thinkphp(fcs)是一個(gè)輕量級(jí)的中型框架,是從java的struts結(jié)構(gòu)移植過來的中文php開發(fā)框架。
它使用面向?qū)ο蟮拈_發(fā)結(jié)構(gòu)和mvc模式,并且模擬實(shí)現(xiàn)了struts的標(biāo)簽庫,各方面都比較人性化,熟悉j2ee的開發(fā)人員相對(duì)比較容易上手,適合php框架初學(xué)者。
thinkphp的宗旨是簡(jiǎn)化開發(fā)、提高效率、易于擴(kuò)展,其在對(duì)數(shù)據(jù)庫的支持方面已經(jīng)包括mysql、mssql、sqlite、pgsql、 oracle,以及pdo的支持。
thinkphp有著豐富的文檔和示例,框架的兼容性較強(qiáng),但是其功能有限,因此更適合用于中小項(xiàng)目的開發(fā)。
優(yōu)點(diǎn):
1.易于上手,有豐富的中文文檔;
2.框架的兼容性較強(qiáng),php4和php5完全兼容、完全支持utf8等。
3. 適合用于中小項(xiàng)目的開發(fā)
缺點(diǎn):
1.對(duì)ajax的支持不是很好;
2.目錄結(jié)構(gòu)混亂,需要花時(shí)間整理;
3.上手容易,但是深入學(xué)習(xí)較難。
yii
yii 是一個(gè)基于組件的高性能php框架,用于開發(fā)大型web應(yīng)用。yii采用嚴(yán)格的oop編寫,并有著完善的庫引用以及全面的教程。
從 mvc,dao/activerecord,widgets,caching,等級(jí)式rbac,web服務(wù),到主題化,i18n和l10n,yii提供了 今日web 2.0應(yīng)用開發(fā)所需要的幾乎一切功能。事實(shí)上,yii是最有效率的php框架之一。
優(yōu)點(diǎn):
純oop
用于大規(guī)模web應(yīng)用
模型使用方便
開發(fā)速度快,運(yùn)行速度也快。性能優(yōu)異且功能豐富
使用命令行工具。
缺點(diǎn):
對(duì)model層的指導(dǎo)和考慮較少
文檔實(shí)例較少
英文太多
要求php技術(shù)精通,oop編程要熟練!
view并不是理想view,理想中的view可能只是html代碼,不會(huì)涉及php代碼。
codeigniter
優(yōu)點(diǎn):
code igniter推崇“簡(jiǎn)單就是美”這一原則。沒有花哨的設(shè)計(jì)模式、沒有華麗的對(duì)象結(jié)構(gòu),一切都是那么簡(jiǎn)單。
幾行代碼就能開始運(yùn)行,再加幾 行代碼就可以進(jìn)行輸出??芍^是“大道至簡(jiǎn)”的典范。
配置簡(jiǎn)單,全部的配置使用php腳本來配置,執(zhí)行效率高;具有基本的路由功能,能夠進(jìn)行一定程度的路 由;
具有初步的layout功能,能夠制作一定程度的界面外觀;
數(shù)據(jù)庫層封裝的不錯(cuò),具有基本的mvc功能. 快速簡(jiǎn)潔,代碼不多,執(zhí)行性能高,框架簡(jiǎn) 單,容易上手,學(xué)習(xí)成本低,文檔詳細(xì);
自帶了很多簡(jiǎn)單好用的library,框架適合小型應(yīng)用.
缺點(diǎn):
本身的實(shí)現(xiàn)不太理想。內(nèi)部結(jié)構(gòu)過于混亂,雖然簡(jiǎn)單易用,但缺乏擴(kuò)展能力。
把model層簡(jiǎn)單的理解為數(shù)據(jù)庫操作. 框架略顯簡(jiǎn)單,只能夠滿足小型應(yīng)用,略微不太能夠滿足中型應(yīng)用需要.
評(píng)價(jià):
總體來說,拿codeigniter來完成簡(jiǎn)單快速的應(yīng)用還是值得,同時(shí)能夠構(gòu)造一定程度的layout,便于模板的復(fù)用,數(shù)據(jù)操作層來說封裝的不 錯(cuò),并且codeigniter沒有使用很多太復(fù)雜的設(shè)計(jì)模式,執(zhí)行性能和代碼可讀性上都不錯(cuò)。至于附加的library 也還不錯(cuò),簡(jiǎn)潔高效。
lavarel 框架
優(yōu)點(diǎn):
laravel 的設(shè)計(jì)思想是很先進(jìn)的,非常適合應(yīng)用各種開發(fā)模式tdd, ddd 和bdd,作為一個(gè)框架,它準(zhǔn)備好了一切,composer 是個(gè)php 的未來,沒有composer,php 肯定要走向沒落。
laravel 最大的特點(diǎn)和優(yōu)秀之處就是集合了php 比較新的特性,以及各種各樣的設(shè)計(jì)模式,ioc 容器,依賴注入等。
缺點(diǎn):
基于組件式的框架,所以比較臃腫