适合用于中小项目的开发5.从.2.2引入包管理工具缺点
2021-06-29
正文内容
长期以来,讨论最多的是各种PHP框架的优缺点。网上的信息也比较分散。现在我将收集和总结几个主流框架。其中,我只用过Yii2、、Yaf,这四个。这种框架,所以对各种框架的评价大多来自网上资料,有问题请在评论中指出,共同进步
一、
(FCS)是一个轻量级的中型框架,是从Java架构移植过来的中文PHP开发框架。它使用面向对象的开发结构和MVC模型,并模拟实现的标签库。它在各个方面都更加人性化。熟悉J2EE的开发者比较好用,适合php框架的初学者。目的是简化开发,提高效率,并且易于扩展。它在数据库支持方面包括了、、、和 PDO 支持。文档和实例丰富,框架兼容性强,但功能有限,更适合中小型项目的开发。
优势
1.借助成熟的Java思想
2.使用方便,中文文档丰富;学习成本低,社区活跃度高
3.框架高度兼容,PHP4和PHP5完全兼容,UTF8完全支持。
4.适合中小项目开发
5.从.2.2 引入包管理工具
缺点
1. 对 Ajax 的支持不是很好;
2.目录结构混乱,比其他框架目录结构差一点;
3.上手容易,深入学习难。
二、Yii
Yii 是一个基于组件的高性能 PHP 框架,用于开发大型 Web 应用程序。 Yii采用严格的OOP编写,并有完整的库参考和全面的教程。从MVC、DAO/、、、分层RBAC、Web服务,到主题化、I18N和L10N,Yii提供了当今Web2.0应用开发所需的几乎所有功能。事实上,Yii 是最高效的 PHP 框架之一。
优势
1.纯OOP
2.用于大型网络应用
3.模型好用
4. 开发速度快,运行速度也快。性能卓越,功能丰富
5.使用命令行工具。
6.支持包管理工具
缺点:
1.对层的指导和考虑较少
2.更少的文档示例
3.英语太多
4.要求精通PHP技术,精通OOP编程!
5.View 不是理想的视图。理想的视图可能只有html代码,不涉及PHP代码。
三、
优势
1.的设计思路非常先进,非常适合TDD、DDD、BDD多种开发模式的应用
2.支持包管理工具
3.集合了php比较新的特性,以及各种设计模式、Ioc容器、依赖注入等
缺点
1.是基于组件的框架,所以比较臃肿
四、
优点:
1.Code 提倡“简单就是美”的原则。没有花哨的设计模式,没有华丽的对象结构,一切就是那么简单。几行代码就可以开始运行了,再多几行代码就可以输出了。堪称“道对剑”的典范。
2.配置简单,所有配置使用PHP脚本配置,执行效率高;
3.具有基本的路由功能,可以进行一定级别的路由;
4.具备初步功能,可以做出一定程度的界面外观;
5.数据库层封装的很好,具有基本的MVC功能。
6.快速简洁,代码不多,执行性能高,
7.框架简单,好用,学习成本低,文档详细;
8.自带很多简单好用的框架,适合小型应用。
缺点:
1. 的实现并不理想。
2. 内部结构太混乱了。虽然简单易用,但缺乏扩展能力。
3. 简单地把层理解为数据库操作。
4.框架有点简单,只能满足小型应用的需求,有点不能满足中型应用的需求。
评论:
总的来说,完成简单快速的应用程序是值得的。同时在一定程度上可以构造,方便模板复用。数据操作层封装的很好,没有使用太多过于复杂的设计模式。性能和代码可读性都很好。至于额外的,它们还不错,简单而高效。
五、Zend
优点:
1.在PHP5中应用了大量面向对象的新特性:接口、异常、抽象类、SPL等。这些东西的应用使得Zend高度模块化和灵活
2.严格遵循“为接口编程”和“单一对象责任”的原则
3.官方产品,自带很多,框架本身用了很多设计模式来写,架构很优雅,执行效率中等
4.MVC 设计,更简洁
5.有路由功能,配置文件比较强大(可以处理XML和php INI)
6.可以直观地支持除数据库操作以外的层(强于和)php常用框架,并且可以轻松使用该功能加载其他新增层
7.很强大,从前端到后端支持,后端支持,APC,文件等
8.数据库操作功能非常强大,支持各种驱动(适配器)
9.文档很全,国内社区也很成熟
缺点:
1.MVC 功能补全比较弱,View层实现简单(和没有实现一样),不可能非常强大地控制前端页面。
2. 没有自动脚本。要创建应用程序,包括入口文件,都必须自己手动构建php常用框架,上手成本很高。
3.对于简单的小项目,没有在框架中大量应用面向对象的设计,反而对开发者提出了更高的要求,间接增加了项目的开发成本
评论:
作为官方框架,Zend 的雄心是可以预见的。他们想挤出其他框架,同时封装了很多强大的库来提供一站式的框架服务,而且他们的开发团队非常强大,完全有足够的能力开发非常强大的产品,所以基本可以肯定如果需要更多时间来完善框架,Zend 的前景可期。同样的,Zend架构本身也比较优雅,说明Zend官方有很多高手,设计理念也比较先进。虽然有些功能没有完全实现,比如View层、自动化脚本等,但这些都依赖于未来。升级
六、
优点:
1.是与RoR最相似的框架,包括设计方法和数据库操作方法
2.设计层次很优雅,没有冗余,所有功能都是纯框架,执行效率还不错
3.数据库层功能强大,更适合复杂的业务处理
4. 功能,配置功能中等难度
5. () 非常强大,适合中型应用
6.基本实现了MVC的每一层
7.具有自动运行命令行脚本的功能
8.文档齐全,学习成本中等
缺点:
1.很严重的问题是理解为数据库层操作,严重影响除了数据库之外的操作能力
2.功能稍弱
3.配置功能稍弱
4.不适合大规模应用,只适合中型应用。对于小规模应用,学习成本略高。
评论:
总的来说,框架代表了一个非常重要的时代,也是PHP框架的代表,在当前扮演着非常重要的角色。很多自己写的框架都有模仿的方式,是里程碑式的产品;它揭示了 RoR 敏捷开发方法和数据库操作作为唯一的设计思想是开发快速应用程序和原型的绝佳工具;同样,也值得选择作为Web2.0网站的开发框架
七、
优点:
1.完全实现了三层MVC
2.封装了一切,包括$POST、$GET数据、异常处理、调试函数、数据检测
3. 包含强大的缓存功能
4.自动加载,各种自己随意定义
5.强大的语言支持
6.具有非常强大的视图层操作,可以在中包含单个多个文件
7.非常强大的配置功能,使用xml配置来控制所有框架和程序运行行为
8.包含强大的多级项目和应用管理:--> --> -->,可以满足一个项目下多个应用的需求,并且每一层都可以定义自己的类库和配置文件,
9.非常强大的命令行操作功能,包括构建项目、构建应用、构建模块、刷新缓存等
10.绝对是大型复杂项目开发的首选,因为会大大节省开发成本,多人协作也不会出现问题。定义了层次,定义了基础之后,任何模块都可以复用,大大复用了代码。
缺点:
1.最大的问题是太多不同风格的开源项目被用来组成一个框架
2.由于两者和本身都比较复杂,结构非常复杂,难以理解和学习
3. 无法控制缓存功能。每次开发和调试时都会缓存它。需要执行cc、rc来清除和重建缓存。
4.效率不是很高,尤其是解析模板和读取配置文件的过程,需要很多时间
5.学习成本很高,国内也没有成熟的社区和中文文档
评论:
绝对是企业级框架,唯一能与Java领域强大的框架抗衡的东西;强大的东西自然学起来比较复杂,但是对应的东西对项目开发也更有帮助。当然,建议使用复杂的项目。处理起来,我觉得还是值得的,后期维护成本比较低,复用性很强。相应的,如果你在使用比较复杂的互联网项目,就必须相应地考虑数据库分布的问题,那么就需要舍弃内置的数据库操作层,需要自己定义,当然支持任意构建层
一般评论:
以上几个框架各有特点,都是开源项目,只是框架针对的项目不同。一般而言:
1.小项目:
2. 项目:,Zend,
3.大型重量级项目:Yii,,,
以上划分不是绝对的。选择项目时,一定要充分考虑框架的可定制性和可扩展性,因为每个项目都不能确定自己是否会随着需求的变化而变化
以上是PHP常用的七种框架优缺点的详细内容。更多内容请关注php中文网其他相关文章!
免责声明:本文首发于php中文网。转载请注明出处。感谢您的尊重!如果您有任何问题,请联系我们