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