0

0

浅析十款PHP开发框架的对比_PHP教程

php中文网

php中文网

发布时间:2016-07-21 15:01:21

|

995人浏览过

|

来源于php中文网

原创

php开发框架近来在php社区中成为讨论的热点,几乎每天都在推出新的框架。面对市面上超过四十种的开发框架,你很难判断究竟哪一款最适合你,尤其是在这些框架所提供的功能不尽相同的时候。 

概览
以下你看到是这十款开发框架的一览表,列举了他们各自所提供的功能。
#1:
表示框架是否内建模型-视图-控制器。
#2: 表示框架是否无需修改即可支持多数据库。
#3: 表示框架是否支持对象记录映射器,通常这是activerecord的封装包。
#4: 表示框架是否包含其它数据库对象,比如tablegateway。
#5: 表示框架是否内建模板引擎。
#6: 表示框架是否缓存对象或者其他缓存机制。
#7: 表示框架是否内建校验或过滤组件。
#8: 表示框架是否内建ajax支持。
#9: 表示框架是否内建用户验证模块。
#10: 表示框架是否包含其他模块,例如rss feed解析器、pdf模块或其他实用模块。 

zend framework
zend framework 尽管从对比表上来看它没占到什么便宜,可zend framework确确实实涵括了一些处理pdf文档、rss源、在线服务(amazon, flickr, yahoo)的模块,甚至更多。zend framework同时也包含了数个不同的数据库对象,极大地便捷了对数据库进行查询的实现,甚至免去你手写sql查询脚本的麻烦。

当前,zend framework并未完全支持orm,但是开发人员仍然陷入在是否要添加orm层的争论中。也许在将来会实现这些功能,你就可以编写自己的orm封装包,投稿到社区,并有机会将之整合入框架的未来版本。

zend framework看上去前途一片光明,而且它同时又修正了一些常见的php问题。也许稳定版本就可以在对比表里面表现得更出色了! 

cakephp
cakephp是一款高级的mvc框架,自带了不多的几个模块。它可以处理大多数的数据库事务,支持ajax个数据验证。同时,它的用户验证模块(accsee list)也非常独特,可以针对不同的用户在访问网站不同部分时分配对应的访问权限。

尽管cakephp的网站看上去令人犯晕,但是框架本身已经比较完整可用了。截至成文尚未见稳定版本,实在令人感到有点意外,毕竟已经开发了好几个月了,不过我猜想也许用beta版本来开发产品也未尝不可吧

symfony project
从对比表中不难看出,symfony是一款极具扩展性的开发框架,它甚至完整植入了一个叫做propel的orm,propel也是开源项目,并且迄今为止可能是php上最好的orm解决方案。symfony同时还整合了用于数据库抽象层的creole和用于mvc模型层的mojavi。由于它仅仅是重用了这些项目的源代码,而非重写,由此使得框架具备了极为强大的扩展性,这一点在表中昭然若是。

symfony有两个缺憾,以使它不支持php4,这是由于需要php5中很多新特性的支持的结果,二是相对来说它有点复杂了。大多数任务,比方像分页,在symfony中的时限比其他框架要复杂得多,这决不是一款简洁著称的框架。 

seagull framework 
seagull framework看上去相当不错,自带了很多特性。支持php4也对它的推广相当有利,我本人就仍在使用php4,况且大多数空间寄存商尚未全面支持php5。

不幸的是,seagull没有提供对ajax的支持,实在有点说不过去,不过通过google可以毫不费力地搜索到一篇自己添加ajax支持的教程,而且这点在将来应该会添加到框架中。 

wact - web application toolkit
wact很有潜力,框架的基件它一应俱全,像mvc、数据库对象和模板引擎,不过仅此而已。它没有任何外挂模块,同时也缺少一些内建的功能,例如ajax、缓存、验证模块,等等。

尽管如此,wact还是拥有最好的模板引擎,甚至可以帮助你创建自己的模板标签来扩展功能。 

prado
prado非常独特,它提供了一些很酷的特性。它没有内建对mvc的支持(就我看来),但是它确实拥有处理大多数php任务的各种各样的组件,更棒的是,它实现了事件驱动脚本。例如,在一个html按钮上设置onclick事件链接到一个php函数。这点近似asp.net,而prado确实包含了更多的asp.net组件,像gridview和repeater control。

仅凭对比表上的数据,prado看似要弱于其它框架,但事实并非如此。因为prado如此独特,尽管它得分不高,但是在实际应用中它是非常强大的。 

php on trax
这个框架看上其简直就是ruby and rails在php上的一个接口,它以前也确实叫做php on rails。不幸的是,它的文档实在是太稀缺了,所以也很难判断这个框架究竟提供了些什么,但是文档中的确提到了activerecord,所以它可能提供activerecord,就像ror。还有就是它内建了ajax支持,从它网站上的两个演示视频中不难看出。

php on trax基本上能符合使用者对框架的要求,但是它还是缺胳膊少腿,比方像验证模块和缓存模块。它也没有任何外挂模块,是以目前来说,它很初级。 

zoop framework
zoop framework可以说包罗万象,对比表上一目了然,差不多该支持的都支持了,除了orm层。更意外惊喜的是它支持php4,这对于它提供的这么全面的功能来说实在是太不简单了,太棒了!

zoop还提供了内建的gui控制,使得创建表单的工作变得异常快捷。它支持绝大多数的常用表单元素,在常规html里使用gui控制的好处就是你可以将验证的逻辑操作和gui控制紧密地结合在一起。 

ez components
与其说ez components是个框架,不如说是一个组件集,可能正是因为如此它并没有内建对mvc的支持。

它包括了大多数常用组件,如数据库组件和缓存组件,可还是缺少点东西。比方说,没有activerecord组件和验证组件。另一方面,它提供了一些外挂组件,比如e-mail组件,但是不多,其它框架(像zend framework)提供的更多。 

codeigniter 
codeigniter相对来讲是个很新的框架,它的作者是expressionengine的开发团队(译者注: php blog程序pmachine的升级换代产品,很可惜不是免费的),看上去很有潜质。不幸的是,它尚不能处理多数据库,尽管这项功能仍在开发中。

它源于ruby on rails,所以它提供了很多的相同功能,比如scaffolding(代码自动生成)。它的文档编得相当棒,甚至还有视频教程帮助你快速上手。 

获胜者是...
在这里我不得不非常遗憾地宣布,无人胜出。每个框架所提供的功能特性不尽相同,因此无人完胜。一如往常,最后这将取决于个人偏好和选择。我极力推荐你在作出决定前先认真仔细地研读各个框架的文档,剩下就靠你自己判断了。

就个人而言,我的确非常喜欢zend framework,但当我仔细研究了每个框架之后,我发现了很多有趣的功能,比方说prado的事件,抑或symfony的orm封装包。

当你实在是无法决定选择哪个框架的时候,你仍可以选择像大多数人那样: 自己动手。虽然耗时费力,但是乐趣无穷。

如开始所言,一部分框架已经有了长足的更新,而我最近比较倾向于symfony,它充实的文档令到上手非常方便,但是它的庞杂也令到开发小项目,甚至像我这样的个人迷你项目的过程有点得不偿失,也许codeigniter的简洁在这方面已经足够。

麦艺画板(Max.art)
麦艺画板(Max.art)

AI工业设计平台,专注于汽车设计,线稿、渲染、3D建模全流程覆盖

下载

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/328001.htmlTechArticlePHP开发框架近来在PHP社区中成为讨论的热点,几乎每天都在推出新的框架。面对市面上超过四十种的开发框架,你很难判断究竟哪一款最适...

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

797

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

272

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

144

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

25

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

92

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

53

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

15

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

717

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

64

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
R 教程
R 教程

共45课时 | 7万人学习

Pandas 教程
Pandas 教程

共15课时 | 1.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号