Laravel、Yii、Tp、Yaf、Swoole框架的优缺点

一、ThinkPHP

ThinkPHP框架 - 是由上海顶想公司开发维护的MVC结构的开源PHP框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的一个轻量级的中型框架,是从Java的Struts结构移植过来的中文PHP开发框架。它使用面向对象的开发结构和MVC模式,并且模拟实现了Struts的标签库,各方面都比较人性化,熟悉J2EE的开发人员相对比较容易上手,适合php框架初学者。 ThinkPHP的宗旨是简化开发、提高效率、易于扩展,其在对数据库的支持方面已经包括MySQL、MSSQL、Sqlite、PgSQL、 Oracle,以及PDO的支持。ThinkPHP有着丰富的文档和示例,框架的兼容性较强,但是其功能有限,因此更适合用于中小项目的开发

优点

  • 借助成熟的Java思想
  • 轻量级中型框架,易上手,文档丰富,学习成本低,社区活跃度高,适合php框架初学者
  • 兼容性较强,php4、php5完全兼容,完全支持utf8
  • 适合中小型项目的开发
  • 从tp3.2.2 引入composer包管理工具

缺点

  • 对Ajax的支持不是很好
  • 目录结构不够清晰
  • 没有很好的设计模式
  • 目前的社区氛围较差
  • 上手容易,但是深入学习较难

总结

TP框架作为当年风靡一时的框架,甚至是PHP最火的时候各大培训班必学的框架,是很多PHPer入门PHP的第一个框架,起到的历史作用非常巨大

二、Yii

Yii 是一个基于组件的高性能php框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了 今日Web 2.0应用开发所需要的几乎一切功能,Yii是最有效率的PHP框架之一

优点

  • 纯OOP
  • 模型使用方便
  • 用于大规模Web应用
  • 使用命令行工具
  • 支持composer包管理工具
  • 开发速度快,运行速度也快:Yii的开发速度非常之快,除框架本身之外,需要为应用所写的编码极少
  • Yii 性能优异且功能丰富,具有高度的可重用性和可扩展性,是纯粹的面向对象
  • 安全:Yii 的标准是安全的:它包括了输入验证,输出过滤,SQL 注入和跨站点脚本的预防

缺点:

  • 对model层的指导和考虑较少
  • 文档实例较少
  • 要求php技术精通,OOP编程要熟练
  • view不是理想view,里面有php代码
  • 社区不够活跃:YII的社区不仅没有laravel的多,而且文档的更新和可读性也比laravel要差

总结

Yii 作为一个通用的 Web 编程框架,可以方便的构建的 Web 应用,如门户网站、社区、内容管理系统CMS、 电子商务项目和 RESTful Web 服务等

三、laravel

laravel是一套简洁、优雅的PHP 框架(PHP Web Framework)。让我们可以从杂乱的代码中解脱出来。laravel可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力

优点

  • 文档丰富
  • 大量的第三方开源库
  • 安全机制齐全(表单验证等)
  • 错误处理机制友好
  • 支持composer包管理工具
  • Ioc 容器,依赖注入等
  • 中间件和路由对访问进行过滤及控制,避免非法请求
  • laravel 的设计思想是很先进的,非常适合应用各种开发模式TDD, DDD 和BDD,作为一个框架
  • laravel 最大的特点和优秀之处就是集合了php 比较新的特性,以及各种各样的设计模式
  • Laravel是用来学习设计模式的优秀框架,在使用laravel的过程中,可以学到:工厂模式、单例模式、适配器模式、注册树模式、策略模式、观察者模式、数据对象映射模式、装饰器模式、迭代器模式等

缺点

  • 基于组件式的框架,所以比较臃肿
  • 性能比yaf等小型框架的效率会低一些
  • 较复杂,上手比一般框架要慢

延伸

laravel考虑到了臃肿的问题,所以抽取出了专门用于API开发的框架:Lumen,官方的说法是:为速度而生的 laravel 框架,laravel 微框架

总结

目前laravel框架是PHP开发中使用率最高的框架

四、Yaf

国内大佬鸟哥 使用C语言编写的PHP框架

优点

  • 用 C 语言开发的 PHP 框架,相比原生的 PHP,几乎不会带来额外的性能开销
  • 所有的框架类,不需要编译,在 PHP 启动的时候加载,并常驻内存
  • 更短的内存周转周期,提高内存利用率,降低内存占用率

缺点

  • 不像上述提到的Laravel/thinkphp/yii等,进行了各种常用功能的封装
  • 相关的文章较少,社区最为不活跃
  • 运维成本比较高

总结

Yaf的高性能比较高

五 、Swoole

Swoole:PHP 协程框架,Swoole 使 PHP 开发人员可以编写高性能高并发的 TCP、UDP、Unix Socket、HTTP、 WebSocket 等服务,让 PHP 不再局限于 Web 领域

优点

  • 性能极佳:Swoole4 协程的成熟将 PHP 带入了前所未有的时期, 为性能的提升提供了独一无二的可能性。
  • 应用极广:Swoole 可以广泛应用于互联网、移动通信、云计算、 网络游戏、物联网(IOT)、车联网、智能家居等领域。
  • 效率可观:使用 PHP + Swoole 可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。

缺点

  • 学习成本高,较难上手更难精通,需要开发人员对于多进程的运行模式有更清晰的认识
  • 容易造成内存泄露
  • 社区一般

总结

正如官网所说,Swoole的出现让PHP不再局限于Web领域

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值