国外主流PHP框架对比评测

最近简单的使用了目前在国内用的比较多的几个主流国外PHP框架(不包括国内框架),大致对这些框架有个直观上的感受,简单分享一下,对于哪些做框架选型的时候,权当一个参考。

主要参考的框架包括:CodeIgniter、CakePHP、ZendFramework、Symfony。我对很多框架也没有认真使用,只是简单试用了一下,可能很多看法不成熟或者是错误的,请大家指正,一起成长。

CodeIgniter

优点:

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

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

缺点:

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

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

评价:

总体来说,拿CodeIgniter来完成简单快速的应用还是值得,同时能够构造一定程度的layout,便于模板的复用,数据操作层来说封装的不错,并且CodeIgniter没有使用很多太复杂的设计模式,执行性能和代码可读性上都不错。至于附加的 library 也还不错,简洁高效。

CakePHP

优点:

1. CakePHP是最类似于RoR的框架,包括设计方式,数据库操作的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框架中各种功能最全面的,包括它不仅是一个框架,更是一个大类库(取代PEAR),这是它的主要特色;能够直观的支持除数据库操作之外的Model层(比 CodeIgniter 和 CakePHP 强),并且能够很轻易的使用Loader功能加载其他新增加的Class;Cache功能很强大,从前端Cache到后端Cache都支持,后端Cache支持Memcache、APC、SQLite、文件等等方式;数据库操作功能很强大,支持各种驱动(适配器)

2. 文档很全,在国内社区很成熟,并且目前不少Web 2.0网站在使用,学习成本中等

缺点:

1. MVC功能完成比较弱,View层简单实现(跟没实现一样),无法很强大的控制前端页面

2. 没有自动化脚本,创建一个应用,包括入口文件,全部必须自己手工构建,入门成本高

3. Zend Framework 作为一个中型应用框架问题不大,也能够勉强作为大型应用的框架,但是作为一个很成熟的大型PHP框架来说,还需要一些努力

评价:

作为官方出品的框架,Zend Framework的野心是可以预见的,想把其他框架挤走,同时封装很多强大的类库,能够提供一站式的框架服务,并且他们的开发团队很强大,完全足够有能力开发很强大的产品出来,所以基本可以确定的是Zend Framework前途无量,如果花费更多的时间去完善框架。同样的,Zend Framework架构本身也是比较优雅的,说明Zend官方是有很多高手的,设计理念上比较先进,虽然有一些功能实现的不够完善,比如View层,自动化脚本等等,这些都有赖于未来的升级。总体来说Zend Framework是最值得期待的框架,当然,你目前要投入你的项目中使用也是完全没问题的。

Symfony

优点

1. Symfony 是我了解的PHP框架中功能最强大的,而且我使用时间比较长,但是很多功能还是没有挖掘出来;它完整实现了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,不过在我测试的版本中已经把他们移到了addon里,可用可不用

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

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

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

评价:

Symfony绝对是企业级的框架,唯一能够貌似能够跟Java领域哪些强悍框架抗衡的东西;强悍的东西,自然学习复杂,但是相应的对项目开发也比较有帮助,自然是推荐复杂的项目使用Symfony来处理,觉得是值得,后期的维护成本比较低,复用性很强。相应的如果使用Symfony的应该都是比较复杂的互联网项目,那么相应的就要考虑关于数据库分布的问题,那么就需要抛弃Symfony自带的数据库操作层,需要自己定义,当然了,Symfony支持随意的构造model层。

总结

以上数款框架,各有特色,而且都是开源项目,不过框架针对的项目不一样,一般来说 CodeIngiter 比较适合小型项目,CakePHP 和 Zend Framework 比较适合中型项目,Symfony 比较适合大型重量级项目,在项目选型的时候,要充分考虑框架的可以定制性、扩展性,因为每个项目都无法确定你是否会随着需求的变化进行改变。

相对来说,Zend Framework 和 Symfony 应对变化的能力比较强,特别是能够随意定制 model 层的Class,能够非常方便增加自己业务或者数据处理类,我是个人比较推荐在中大型项目中使用的框架。

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

当然了,也许,自己写一个框架更适合。

泛泛的评价了几款框架,估计很多东西都没有说到点子上,大家就姑且看之,同样欢迎提出看法指正!

ifix5.8连接ab plc的点-通过rslinx 以ifix连接ab plc的点为例 1.先在rslinx上把plc的点导出为opc server 2.使用opc power tool 作为opc client 去连接 3.保存到项目的PDB文件夹下面,并且以节点名命名。 也可以不以节点名命名,系统自动会生成一个以节点名命名的这种文件,就显得很乱。 同时,项目的PDB目录下面必须还得拷过来一个de... 阅读详情

相关推荐

智能客服系统知识库构建:长尾问题解决方案全解析

智能客服系统知识库构建:长尾问题解决方案全解析

嗨,欢迎来到我的 优快云 博客小天地!一名深耕多年的技术发烧友。在这里,我将把日常工作中积累的宝贵经验,从复杂架构设计的精妙之处,到代码优化的实战技巧,毫无保留地分享给大家。 4112

国外十大最流行PHP框架排名收藏

以下为十个目前最流行的基于MVC设计模式的PHP框架。 1. Yii Yii是一个基于组件的高性能的PHP的框架,用于开发大规模Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主体化,I18N和L10N,Yii提供了今日Web 2.0应用开发...

weixin_33716941的博客 1549

Keil5编译报错:ARM Compiler Version 5缺失的完整解决方案

本文提供了Keil5编译报错“ARM Compiler Version 5缺失”的完整解决方案。详细介绍了手动安装ARM Compiler Version 5的步骤,包括下载安装包、配置编译器路径及常见问题排查,帮助开发者快速恢复老项目的编译环境。

bb456的博客 945

全球最流行的25种PHP框架大揭秘

PHP是否为世界上最优秀的编程语言”这一问题或许难以定论,但不可否认的是,PHP在Web开发领域做出了显著贡献,堪称Web开发界的佼佼者。对此,本文作者深有同感。因此,本文将为大家简要介绍25款全球流行的PHP框架。

我的专栏 484

无法获得下列放可solidworks standard 无法连接到服务器-15,10,10061如何解决?

无法获得下列放可solidworks standard 无法连接到服务器-15,10,10061如何解决?

qq_63539957的博客 2万+

Open3D 进阶(22)间接平差法拟合空间曲线

空间曲线拟合在电力线三维重建中有着广泛的应用,本文利用python使用间接平差法对三维空间曲线的拟合进行代码实现。

点云侠的博客 1057

[原创]国外主流PHP框架比较

国外主流PHP框架比较作者:heiyeluren博客:http://blog.youkuaiyun.com/heiyeshuwu时间:2008-5-5最近简单的使用了目前在国内用的比较多的几个主流国外PHP框架(不包括国内框架),大致对这些框架有个直观上的感受,简单分享一下,对于哪些做框架选型的时候,权当一个参考。主要参考的框架包括:CodeIgniter、CakePHP、ZendFramework、

heiyeluren的blog(黑夜路人的开源世界) 1万+

硅基半导体量子点:单电子自旋量子比特技术手册

现在我们已经了解了从硅片到容错计算的全部环节,让我们用一张总览图把碎片拼成完整拼图。fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;important;important;important;color:#000!important;important;important;important;important;color:#000!

VectorShift的博客 369

PHP最主流的10个框架,其发展历史及主要特点

PHP快速入门与实战在这篇博客中,我们将介绍PHP十大主流框架,同时在本专栏的后续内容里面,会对这些框架的设计思想及底层源码进行深度的分析,欢迎大家先点个关注。

黑夜开发者的博客 1万+

特殊通信领域场景应用:基于Simulink的数字预失真(DPD)算法仿真建模示例

增益压缩:高功率输入时输出信号的增益下降。相位失真:输入信号的相位随功率变化而改变。带外干扰:非线性失真会引入额外的频谱分量,影响邻道信号。多项式模型:用多项式拟合功率放大器的非线性特性。查找表(LUT):通过离线训练生成预失真映射表。自适应算法:实时调整预失真参数以动态补偿失真。发送端:生成随机比特流并调制为射频信号。预失真模块:对输入信号进行预失真处理。功率放大器模块:模拟非线性失真。接收端:解调信号并评估误码率(BER)。

xiaoheshang_123的博客 272

Android Framework WMS面试题及参考答案

什么是 WindowManagerService(WMS)?它的作用是什么? WindowManagerService(WMS)是 Android 系统中非常重要的一个系统服务。它运行在系统进程(system_server 进程)中。 从本质上来说,WMS 是 Android 窗口管理系统的核心。它负责管理系统中的所有窗口,包括应用程序窗口、系统窗口(如状态栏、导航栏)等。 它的主要作用有很多。首先是窗口的创建和销毁。当一个应用请求创建一个窗口时,WMS 会协调各个模块完成窗口的创建工

大模型大数据攻城狮的专栏 2162

国外流行的php框架,国外主流PHP框架比较 -电脑资料

主要参考的框架包括:CodeIgniter、CakePHP、ZendFramework、Symfony说明:我对很多框架也没有认真使用,只是简单试用了一下,可能很多看法不成熟或者是错误的,请大家指正,一起成长,【 CodeIgniter 】:http://codeigniter.com中文网站:http://codeigniter.org.cn中文手册:http://codeigniter.org...

weixin_40002611的博客 259

比较几种主流PHP开发框架

整理汇总网上关于PHP相关开发框架的各个文章。多数文章来源于百度文库关于 PHP 开发框架  -- PHP框架使用理由,什么情况使用,最好的框架摘要:什么是PHP开发框架?什么时候应该使用PHP开发框架?为什么要使用PHP开发框架?选择哪个PHP开发框架? 本文为你细细道来。英文原文链接:http://www.noupe.com/php/discussing-php-frameworks.html国外主流PHP框架对比评测摘要:最近简单的使用了目前在国内用的比较多的几个主流国外PHP框架(不包括国内框架),

yzx226的专栏 2185

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

国外主流PHP博客程序评测

主流PHP博客程序评测本人比较喜欢PHP,因为免费和高效稳定。 特别对PHP的博客程序尤其感兴趣,因为PHP的博客程序,功能强大,性能卓越,甚至强过一些CMS管理程序。 以下就为大家介绍和比较一下主流的PHP博客程序。 1.Wordpress http://www.wordpress.org/ B2基础上开发而来,这是国内用户比较喜欢而且用户较多的一个php博客程序,缘由是因为Wordpress提...

weixin_30549657的博客 121

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

国外主流PHP框架比较-CodeIgniter、CakePHP、ZendFramework、Symfony

最近简单的使用了目前在国内用的比较多的几个主流国外PHP框架(不包括国内框架),大致对这些框架有个直观上的感受,简单分享一下,对于哪些做框架选型的时候,权当一个参考。 主要参考的框架包括:CodeIgniter、CakePHP、ZendFramework、Symfony 说明:我对很多框架也没有认真使用,只是简单试用了一下,可能很多看法不成熟或者是错误的,请大家指正,一起成长。 ...

206

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

CMS系统评测,主流自助建站系统比较排名

中国互联网经过了三次大浪潮,从四大门户到搜索引擎,从搜索引擎到社交网络,从pc网络到移动互联,在这一次次的浪潮中,各类网站在国内互联网的浪潮中扮演各种角色,这其中很多中小网站90%都是利用cms建站系统搭建而成,2000年左右时候最早出现了动网bbs,各种文章系统让很多web爱好者不用懂什么技术就可以自己网站,体验了做站长的乐趣,cms也经历了各种变革,技术的革新,功能的革新,架构的革新,十几年的...

6405

2026年建站行业主流CMS建站系统及平台评测

现在企业网站建设主要有两种方式:cms系统私有化部署和saas建站平台,当然也有找建设公司来做,不过国内90%的地区性建站公司几乎只有销售团队,接到项目后也是采用这两种方式来制作网站,这里就不赘述。下面对这两种方式的适合场景,可选产品和价格区间等进行说明,方便大家选择。cms系统适合场景:适合大中型企业,对界面,功能都个性化要求,或者对数据私密性有要求,需要自行掌控数据的大中型和政务型网站,比如政务和国企类一般都采用cms建站系统,

965

9月编程语言排行榜:PHP的历史性突破(1)

 9月6日消息,Tiobe今天发布了2009年9月的编程语言排行榜,PHP在本期榜单中获得历史性突破,以近一个百分点的增幅成功进入前三名,C++下降一位,排名第四。本期编程语言排行榜,我们将回顾PHP的成长,分析PHP的发展前景。 本期编程榜前二十名榜单简单之道1994年,Rasmus Lerdorf并没想到自己为了维护个人网页而发明的脚本语言会在今天的Web开发领域大放异彩。在这早期

jinriit的专栏 631

php用什么系统好_建议建站选择哪个版本PHP?(PHP哪个版本好)

前几天国外的黑五和网络星期一活动促销商家看似比较多,但是实际上我们看到的也就那么几个。今天老左看到没有其他商家有特点的活动所以不准备发布促销活动信息,那就聊聊最近看到的有PHP8.0版本发布的信息。目前我们建站主流可能会选择PHP7.0+版本,但是前几天我们看到已经PHP8.0发布,而且官方也有进行对比测试也是有对比之前版本优势的。实际上在我们很多有在建站选择云服务器之后配置WEB环境,有建站的时...

weixin_31655833的博客 683

骑士人才和php云系统哪个好_建议建站选择哪个版本PHP?(PHP哪个版本好)

前几天国外的黑五和网络星期一活动促销商家看似比较多,但是实际上我们看到的也就那么几个。今天看到没有其他商家有特点的活动所以不准备发布促销活动信息,那就聊聊最近看到的有PHP8.0版本发布的信息。目前我们建站主流可能会选择PHP7.0+版本,但是前几天我们看到已经PHP8.0发布,而且官方也有进行对比测试也是有对比之前版本优势的。实际上在我们很多有在建站选择云服务器之后配置WEB环境,有建站的时候肯...

weixin_29879257的博客 470

编程语言排行榜:PHP的历史性突破

PHP近年发展趋势关于PHP的发展历程推荐阅读这两篇文章《PHP发展历史》《从个人主页到企业级开发:PHP的商业化历程》Web开发之王51CTO.com之前曾有一篇报道《PHP成为中国应用最广的Web开发语言》,文章提供的数据显示,截至2008年底,在中国超过160亿个网页中,PHP网页数量最多,占总数的24%。随着PHP5.0对面向对象功能的增强,PHP吸收了Java, C+

必应@珠峰 478

做一个项目用什么框架?

就拿我接触错的几种框架举例:yaf框架优点:  这个框架特别nice ,速度快个人除了tp5久喜欢这个框架啦用C语言开发的PHP框架, 相比原生的PHP, 几乎不会带来额外的性能开销.所有的框架类, 不需要编译, 在PHP启动的时候加载, 并常驻内存.更短的内存周转周期, 提高内存利用率, 降低内存占用率.灵巧的自动加载. 支持全局和局部两种加载规则, 方便类库共享.高性能的视图引擎.高度灵活可扩...

qioqiao的博客 5290

springboot毕业设计题目高校心理健康评测与服务系统[全套文档+开题+PPT

1.1 开发背景及研究意义近年来互联网技术的发展使得互联网产品和网站层出不穷,对人才的需求不断提高。同时,面对过去使用手抄等方式进行记录,工作效率很难得到提高,无法满足现代人们的需求;自从人类进入互联网时代,通过纸质手抄的方式转换成线上无纸化管理,有效的解决了获取信息的渠道,全面提升工作效率。由此,实现一套完整的高校心理健康评测与服务系统非常必要[2]。设计和实现高校心理健康评测与服务系统。该系统具有良好的扩展性、稳定性、安全性以及可移植性等特点。

itszkt的博客 178

Sitemap制作攻略&Sitemap生成器的评测

下面入正题,说说sitemap文件如何制作。 sitemap文件的目的就是告诉搜索引擎一个信息:本网站有哪些网页需要被爬取?为了能让搜索引擎识别这个信息,这个消息的记录必须遵循一定的规范,通常来说,这个文件有几种形式:RSS,TXT,XML和HTML。其中HTML形式google不支持。本文主要讲述XML的制作方法。 制作方法无外乎两种途径,手工制作和程序生成。 如果网站的网页少,可以考虑用手工编

cxzhq2002的杂记 2076

Yii 后起之秀:很优秀

爱老虎油: 这个我有发言权,我之前用ci开发过一个商城、一个cms;最近又学yii开发一个cms。我的感想:ci的结构适合oo经验不丰富的开发者,结构和手册简明易懂,我刚开始就是边看手册边开发商城;yii就是学习曲线陡点,手册要看两边,然后demo blog再看两边,然后边看api边开发,中间会出现多次卡壳要上论坛求助,但是真正掌握后开发效率会高于ci的,就那个Crud...

weixin_33804990的博客 147
上一篇: 如何选择最为合适的Web开发框架
下一篇: 如何学习一个新的PHP框架
SleepInDelphi
博客等级 码龄19年 32粉丝 388原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值