IMI v2.0.0 发布,基于 Swoole 的协程 PHP 开发框架

IMI v2.0.0 已经发布,基于 Swoole 的协程 PHP 开发框架。

输入图片说明

imi v2.0

框架介绍

imi 是一款支持长连接微服务分布式的 PHP 开发框架,它可以运行在 PHP-FPM、Swoole、Workerman 多种容器环境下。

imi 支持开发 Http 接口,以及 Http2、WebSocket、TCP、UDP、MQTT 等常驻内存服务。

imi 拥有丰富的功能组件,v2.0 版本内置了 2 个分布式长连接服务的解决方案。

imi 框架现在已经稳定运行在:文旅电商平台、物联网充电云平台、停车云平台、支付微服务、短信微服务、钱包微服务、卡牌游戏服务端、数据迁移服务(虎扑)等项目中。

imi 第一个版本发布于 2018 年 6 月 21 日

鸣谢

感谢群里抢先体验 imi 2.0,提出建议和反馈 bug 的开发者们!

感谢 @Gumo666 @NHZEX @loyating 等开发者对 imi 文档或代码的贡献!

作者介绍

宇润(张润宇),1994 年 3 月 12 日(植树节)出生于无锡。

初二开始就自学编程,喜欢 C#,但事与愿违,工作后一直从事 PHP 开发工作。

imi 框架创始人,Swoole 开发组成员,宇润 PHP 系列组件作者。

开源项目包括但不限于:imi、PaySDK、YurunHttp、Guzzle-Swoole、YurunOAuthLogin、ChineseUtil 等

2.0 版本介绍

  • 多容器:支持 Swoole、Workerman、PHP-FPM 等

  • 分布式:无心智负担的长连接分布式解决方案

  • 高性能:常驻内存 + PHP 8.0 JIT

  • 次世代:下一代 PHP 框架(与 Laravel Octane 的多容器支持理念,不谋而合)

2.0 版本目前处于测试阶段,不久之后将发布正式版本

快速体验

创建 Http Server 项目:composer create-project imiphp/project-http

创建 WebSocket Server 项目:composer create-project imiphp/project-websocket

创建 TCP Server 项目:composer create-project imiphp/project-tcp

创建 UDP Server 项目:composer create-project imiphp/project-udp

环境要求

  • PHP 7.4、8.0
  • Swoole >= 4.7
  • Windows、Liunx、MacOS

新特性

  • PHP 8.0 原生注解(原注释写法依旧支持)

  • 内置长连接服务分布式解决方案,助力 PHP 物联网生态

  • 多容器支持,可以运行在 Swoole、Workerman、PHP-FPM、Cli 环境

  • 解决痛点:beanScan、Main 类等现已是非必选项

  • 解决痛点:PSR-7 基础上增加 setXXX 方法,保留 withXXX 并完全兼容 PSR-7

  • 命令行包改用 symfony/console

  • 日志组件改用 monolog/monolog

  • 等……

开发思路

  • 废除 v1 中不合理、写法啰嗦的地方,简化配置,imi 让开发项目一把梭的理念从未改变

  • 将一些功能,交给更加成熟的第三方包,imi 有它自己的使命

  • 全部使用强类型、严格模式开发,保证代码质量

  • 重构底层,让框架支持在多种服务容器下运行(Swoole、Workerman、PHP-FPM 等),方便扩展

  • 专注提升分布式长连接服务开发体验,这是目前市面上框架的不足之处,还只是用来开发 Http 服务,这么用 Swoole 和 Workerman 简直是暴殄天物

PHP 8.0 原生注解支持

输入图片说明

长连接服务分布式解决方案

输入图片说明

输入图片说明

输入图片说明

Demo 体验:https://github.com/imiphp/imi-project-websocket;

后续计划

  • 让更多组件支持在非 Swoole 环境下运行

  • 支持 Swow、RoadRunner 环境

  • 长连接分布式解决方案,支持更多消息中间件、网关

  • 更多微服务化的组件开发和深度集成

  • imi v2 免费视频教程、源码分析视频等

拥抱开源

  • 我们日常开发中使用的绝大多数软件,都是开源软件(VSCode、PHP、Nginx、MySQL、Redis 等)

  • 宇润非常希望能有更多的人可以参与到包括 imi 在内的开源项目中来,为 PHP 生态建设献出一份力!

  • 参与开源门槛其实不高,你的使用、反馈、建议、bug 修复、代码贡献等等,才是为开源项目添砖加瓦,我为人人,人人为我,让开源项目能够帮助到更多的人。

  • 开源不是免费、白嫖、无私奉献,且用且珍惜……

详情查看:https://gitee.com/yurunsoft/IMI/releases/v2.0.0

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/98113.html

(0)
上一篇 2021年8月20日 21:50
下一篇 2021年8月20日 21:50

相关推荐

发表回复

登录后才能评论