当前位置 : IT培训网 > PHP开发 > PHP培训 > 剖析PHP开发中主流PHP框架的优缺点

剖析PHP开发中主流PHP框架的优缺点

时间:2017-10-11 16:34:27  来源:php培训网  作者:IT培训网  已有:名学员访问该课程
如今,每个企业乃至最大的商业巨头都希望拥有一个功能齐全的网站以便有效的提高特定业务的品牌价值。PHP 是一种开源的服务器端脚本语言,已经成为定制网站构建解决方案最合适和最有效的语言。在此,小编挑选出了最热门的

如今,每个企业乃至最大的商业巨头都希望拥有一个功能齐全的网站以便有效的提高特定业务的品牌价值。PHP 是一种开源的服务器端脚本语言,已经成为定制网站构建解决方案最合适和最有效的语言。在此,小编挑选出了最热门的 PHP 开发框架,使得 PHP 开发人员可以完成强大的 PHP Web 开发,下面就一起来了解下主流PHP框架的优点和缺点吧!

剖析PHP开发中主流PHP框架的优缺点_www.itpxw.cn

常见的主流PHP框架的优缺点有哪些?

一、CodeIgniter

优点:

1. 配置简单,全部的配置使用PHP脚本来配置,执行效率高;具有基本的路由功能,能够进行一定程度的路由;具有初步的Layout功能,能够制作一定程度的界面外观;数据库层封装的不错,具有基本的MVC功能。

2. 迅速简洁,代码不多,执行性能高,PHP框架简单,容易上手,学成本低,文档详细;自带了很多简单好用的library,框架适合小型应用。

缺点:

1. 把Model层简单的理解为数据库操作

2. PHP框架略显简单,只能够满足小型应用,略微不太能够满足中型应用需要

二、CakePHP

优点:

1. CakePHP是zui类似于RoR的PHP框架,包括设计方式,数据库操作的Active Record方式;设计层面很优雅,没有自带多余的 library,所有的功能都是纯粹的框架,执行效率还不错;数据库层的 hasOne, hasMany 功能很强大,对于复杂业务处理比较合适;路由功能,配置功能还不错;自动构建脚手架(scaffold)很强大;适合中型应用;基本实现过了MVC每一层;具有自动操作命令行脚本功能;

2. 文档比较全,在国内推广的比较成功,大部分都知道CakePHP,学成本中等。

缺点:

1. CakePHP非常严重的问题是把Model理解为数据库层操作,严重影响了除了数据库之外的操作能力

2. CakePHP的cache功能略显薄弱,配置功能稍嫌弱;CakePHP不适合大型应用,只适合中型应用,小型应用来说略微的学成本高了点。

三、Symfony

优点:

1. Symfony 是我了解的PHP框架中功能zui强大的,而且我使用时间比较长,但是很多功能还是没有挖掘出来;它完整实现了MVC三层,封装了所有东西,包括 $_POST,$_GET 数据,异常处理,调试功能,数据检测;包含强大的缓存功能,自动加载Class,强大的i18n国家化支持;

具有很强大的view层操作,能够零碎的包含单个多个文件;非常强大的配置功能,使用yml配置能够控制所有框架和程序运行行为,强大到让人无语;能够很随意的定义各种自己的class,并且symfony能够自动加载(auto load)这些class,能够在程序中随意调用;

包含强大的多层级项目和应用管理:Project --> Application --> Module --> Action,能够满足一个项目下多个应用的需要,并且每层可以定义自己的类库,配置文件,layout;非常强大的命令行操作功能,包括建立项目、建立应用、建立模块、刷新缓存等等;

2. Symfony是开发大型复杂项目的不错选择,因为使用了Symfony,将大大节约开发成本,并且多人协作的时候,不会出现问题,在Project级别定义好基础Class以后,任何模块都能够重用,大大复用代码。

缺点:

1. 数据库操作model采用了重量级的propel和creole。

2. 缓存功能无法控制,每次开发调试总是缓存,需要执行 symfony cc, symfony rc 来清除和重建缓存;

3. 效率不是很高,特别是解析模板和读取配置文件的过程,花费时间不少;

4. 学成本很高,并且国内没有成熟的社区和文档,连中文手册都没有,相应的要掌握所有功能,需要花费比较多的时间。

以上分析,Symfony 应对变化的能力比较强,特别是能够随意定制 model 层的Class,能够非常方便增加自己业务或者数据处理类,推荐在中大型项目中使用的PHP框架。

CodeIngiter 和 CakePHP 在中小型项目中同样能够发挥重大作用,迅速开发和原型构建,非常适合目标不清晰的原型项目的开发。

PHP框架各有特色,在项目选型的时候,要充分考虑框架的可以定制性、扩展性,因为每个项目都无法确定你是否会随着需求的变化进行改变,熟练掌握才能够灵活运用。

 

顶一下
(0)
0%
踩一下
(0)
0%

IT培训0元试听 每期开班座位有限.0元试听抢座开始! IT培训0元试听

  • 姓名 : *
  • 电话 : *
  • QQ : *
  • 留言 :
  • 验证码 : 看不清?点击更换请输入正确的验证码

在线咨询在线咨询

温馨提示 : 请保持手机畅通,咨询老师为您
提供专属一对一报名服务。

------分隔线----------------------------
------分隔线----------------------------

推荐内容