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 日
- Github: https://github.com/imiphp/imi;
- Gitee: https://gitee.com/yurunsoft/IMI; (GVP 项目)
- 文档:https://doc.imiphp.com/;
- imi v2.0 发布介绍视频: 知乎:https://www.zhihu.com/zvideo/1404410018154770432 B站:https://www.bilibili.com/video/BV1Bv411E7ce/
鸣谢
感谢群里抢先体验 imi 2.0,提出建议和反馈 bug 的开发者们!
感谢 @Gumo666 @NHZEX @loyating 等开发者对 imi 文档或代码的贡献!
作者介绍
宇润(张润宇),1994 年 3 月 12 日(植树节)出生于无锡。
初二开始就自学编程,喜欢 C#,但事与愿违,工作后一直从事 PHP 开发工作。
imi 框架创始人,Swoole 开发组成员,宇润 PHP 系列组件作者。
开源项目包括但不限于:imi、PaySDK、YurunHttp、Guzzle-Swoole、YurunOAuthLogin、ChineseUtil 等
- Gitee:https://gitee.com/yurunsoft
- Github:https://github.com/Yurunsoft
- b站:https://space.bilibili.com/768718
- 程序员划水专用QQ群:74401592
- imi 交流QQ群:17916227
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 原生注解支持
长连接服务分布式解决方案
后续计划
-
让更多组件支持在非 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