旗下导航:搜·么
当前位置:网站首页 > PHP教程 > 正文

php多个框架的优缺点总结【php教程】

作者:搜搜PHP网发布时间:2019-11-26分类:PHP教程浏览:83


导读:本篇文章给人人带来的内容是关于php多个框架的优瑕玷总结,有肯定的参考价值,有须要的朋侪可以参考一下,愿望对你有所协助。一直以来,phper议论最多的就是php种种框架的优...
本篇文章给人人带来的内容是关于php多个框架的优瑕玷总结,有肯定的参考价值,有须要的朋侪可以参考一下,愿望对你有所协助。

一直以来,phper议论最多的就是php种种框架的优瑕玷,网上的材料也是比较零星,现把几款主流的框架网络汇总一下,个中本人只是用过Yii2、Laravel、Yaf、Thinkphp这四种框架,因而大部分对种种框架的评价皆来自与网上材料,假如题目,请在批评中指出,共同进步。

一、ThinkPHP

ThinkPHP(FCS)是一个轻量级的中型框架,是从Java的Struts组织移植过来的中文PHP开辟框架。它运用面向对象的开辟组织和MVC形式,而且模拟完成了Struts的标签库,各方面都比较人性化,熟习J2EE的开辟人员相对比较随便马虎上手,适宜php框架初学者。 ThinkPHP的主旨是简化开辟、进步效力、易于扩大,其在对数据库的支撑方面已包括MySQL、MSSQL、Sqlite、PgSQL、 Oracle,以及PDO的支撑。ThinkPHP有着雄厚的文档和示例,框架的兼容性较强,然则其功用有限,因而更适宜用于中小项目的开辟。

长处

1.借助成熟的Java头脑

2.易于上手,有雄厚的中文文档;进修本钱低,社区活跃度高

3.框架的兼容性较强,PHP4和PHP5完全兼容、完全支撑UTF8等。

4.适宜用于中小项目的开辟

5.从thinkphp3.2.2引入composer包治理东西

瑕玷

1.对Ajax的支撑不是很好;

2.目次组织杂沓,比拟其他框架目次组织要差一点;

3.上手随便马虎,然则深切进修较难。


二、Yii

Yii 是一个基于组件的高机能php框架,用于开辟大型Web运用。Yii采纳严厉的OOP编写,并有着完美的库援用以及周全的教程。从 MVC,DAO/ActiveRecord,widgets,caching,品级式RBAC,Web效劳,到主题化,I18N和L10N,Yii供应了 本日Web 2.0运用开辟所须要的险些统统功用。事实上,Yii是最有效力的PHP框架之一。

长处

1.纯OOP

2.用于大规模Web运用

3.模子运用方便

4.开辟速率快,运转速率也快。机能优秀且功用雄厚

5.运用命令行东西。

6.支撑composer包治理东西

瑕玷:

1.对Model层的指点和斟酌较少

2.文档实例较少

3.英文太多

4.请求PHP手艺通晓,OOP编程要闇练!

5.View并非抱负view,抱负中的view可以只是html代码,不会触及PHP代码。

三、laravel

长处
1.laravel的设想头脑是很先进的,非常适宜运用种种开辟形式TDD, DDD 和BDD

2.支撑composer包治理东西

3.鸠合了php 比较新的特性,以及林林总总的设想形式,Ioc 容器,依靠注入等。

瑕玷
1.基于组件式的框架,所以比较痴肥


四、CodeIgniter

长处:

1.Code Igniter推重“简朴就是美”这一准绳。没有花梢的设想形式、没有华美的对象组织,统统都是那末简朴。几行代码就可以最先运转,再加几 行代码就可以够举行输出。可谓是“大道至简”的模范。

2.设置简朴,悉数的设置运用PHP脚原本设置,实行效力高;

3.具有基本的路由功用,可以举行肯定水平的路由;

4.具有开端的Layout功用,可以制造肯定水平的界面表面;

5.数据库层封装的不错,具有基本的MVC功用.

6.疾速简约,代码不多,实行机能高,

7.框架简朴,随便马虎上手,进修本钱低,文档细致;

8.自带了许多简朴好用的library,框架适宜小型运用.

瑕玷:

1.自身的完成不太抱负。

2.内部组织过于杂沓,虽然简朴易用,但缺少扩大才能。

3.把Model层简朴的明白为数据库操纵.

4.框架略显简朴,只可以满足小型运用,稍微不太可以满足中型运用须要.

评价:

整体来讲,拿CodeIgniter来完成简朴疾速的运用照样值得,同时可以组织肯定水平的layout,便于模板的复用,数据操纵层来讲封装的不 错,而且CodeIgniter没有运用许多太庞杂的设想形式,实行机能和代码可读性上都不错。至于附加的library 也还不错,简约高效。

五、Zend Framework

长处:

1.大批运用了PHP5中面向对象的新特性:接口、非常、抽象类、SPL等等。这些东西的运用让Zend Framework具有高度的模块化和灵活性

2.严厉遵照“针对接口编程”和“单一对象职责”等准绳

3.官方出品,自带了非常多的library,框架自身运用了许多设想形式来编写,架构上很文雅,实行效力中等

4.MVC设想,比较简约

5.具有路由功用,设置文件比较壮大(可以处置惩罚XML和php INI)

6.可以直观的支撑除数据库操纵以外的Model层(比 CodeIgniter 和 CakePHP 强),而且可以很随便马虎的运用Loader功用加载其他新增添的Class

7.Cache功用很壮大,从前端Cache到后端Cache都支撑,后端Cache支撑Memcache、APC、SQLite、文件等等体式格局

8.数据库操纵功用很壮大,支撑种种驱动(适配器)

9.文档很全,在国内社区很成熟

瑕玷:

1.MVC功用完成比较弱,View层简朴完成(跟没完成一样),没法很壮大的掌握前端页面.

2.没有自动化剧本,竖立一个运用,包括进口文件,悉数必需本身手工构建,入门本钱高

3.关于简朴和小型的项目来讲,反而因为在框架中运用了大批面向对象设想,对开辟者提出了更高的请求,间接增添了项目的开辟本钱

评价:
作为官方出品的框架,Zend Framework的野心是可以预感的,想把其他框架挤走,同时封装许多壮大的类库,可以供应一站式的框架效劳,而且他们的开辟团队很壮大,完全充足有才能开辟很壮大的产物出来,所以基本可以肯定的是Zend Framework前途无量,假如消费更多的时刻去完美框架。一样的,Zend Framework架构自身也是比较文雅的,申明Zend官方是有许多高手的,设想理念上比较先进,虽然有一些功用完成的不够完美,比方View层,自动化剧本等等,这些都有赖于将来的升级

六、CakePHP

长处:

1.最类似于RoR的框架,包括设想体式格局,数据库操纵的Active Record体式格局

2.设想层面很文雅,没有自带过剩的 library,一切的功用都是地道的框架,实行效力还不错

3.数据库层的 hasOne, hasMany功用很壮大,关于庞杂营业处置惩罚比较适宜

4.路由功用,设置功用难度适中

5.自动构建脚手架(scaffold)很壮大,适宜中型运用

6.基本完成过了MVC每一层

7.具有自动操纵命令行剧本功用

8.文档比较全,进修本钱中等

瑕玷:

1.CakePHP非常严峻的题目是把Model明白为数据库层操纵,严峻影响了除了数据库以外的操纵才能

2.cache功用略显柔弱

3.设置功用稍嫌弱

4.不适宜大型运用,只适宜中型运用,小型运用来讲稍微的进修本钱高了点.

评价:
整体来讲CakePHP框架代表了PHP框架很主要的一个时期和代表,而且现在发挥着很主要的作用,不少本身写的框架都模拟了CakePHP的体式格局,是个里程碑式的产物;CakePHP透露着RoR的迅速开辟体式格局和把数据库操纵认为是唯一Model的设想头脑,作为开辟疾速运用和原型是绝好的东西;一样,用来做Web2.0网站的开辟框架,也是值得挑选的

七、Symfony

长处:

1.完全完成了MVC三层

2.封装了一切东西,包括 $POST,$GET 数据,非常处置惩罚,调试功用,数据检测

3.包括壮大的缓存功用

4.自动加载Class,可以很随便的定义种种本身的class

5.壮大的言语支撑

6.具有很壮大的view层操纵,可以细碎的包括单个多个文件

7.非常壮大的设置功用,运用xml设置可以掌握一切框架和顺序运转行动

8.包括壮大的多层级项目和运用治理:Project --> Application --> Module --> Action,可以满足一个项面前目今多个运用的须要,而且每层可以定义本身的类库,设置文件,layout

9.非常壮大的命令行操纵功用,包括竖立项目、竖立运用、竖立模块、革新缓存等等

10.Symfony相对是开辟大型庞杂项目的首选,因为运用了Symfony,将大大勤俭开辟本钱,而且多人合作的时刻,不会出现题目,在Project级别定义好基本Class今后,任何模块都可以重用,大大复用代码.

瑕玷:

1.最大的题目也在于运用了太多作风悬殊的开源项目来组合成框架

2.因为Mojavi和Propel自身都相称庞杂,因而Symfony的组织非常庞杂,难以明白和进修

3. 缓存功用没法掌握,每次开辟调试老是缓存,须要实行 symfony cc,symfony rc来消灭和重修缓存

4.效力不是很高,特别是剖析模板和读取设置文件的历程,消费时刻不少

5.进修本钱很高,而且国内没有成熟的社区和中文文档

评价:
Symfony相对是企业级的框架,唯一可以貌似可以跟Java范畴哪些刁悍框架对抗的东西;刁悍的东西,天然进修庞杂,然则响应的对项目开辟也比较有协助,天然是引荐庞杂的项目运用Symfony来处置惩罚,以为是值得,后期的保护本钱比较低,复用性很强。响应的假如运用Symfony的应当都是比较庞杂的互联网项目,那末响应的就要斟酌关于数据库散布的题目,那末就须要扬弃Symfony自带的数据库操纵层,须要本身定义,固然了,Symfony支撑随便的组织model层

总评:
以上数款框架,各有特色,而且都是开源项目,不过框架针对的项目不一样,一般来讲:

1.小型项目:CodeIngiter

2.中型项目:CakePHP、Zend Framework、Laravel、Thinkphp

3.大型重量级项目:Yii、Symfony、Laravel

以上分别也不相对,在项目选型的时刻,要充分斟酌框架的可以定制性、扩大性,因为每一个项目都没法肯定你是不是会跟着需求的变化举行转变

以上就是php多个框架的优瑕玷总结的细致内容,更多请关注ki4网别的相干文章!

标签:php