imiphp / imi

imi 是一款支持长连接微服务分布式的 PHP 开发框架,它可以运行在 PHP-FPM、Swoole、Workerman、RoadRunner 等多种容器环境下。它支持 HttpApi、WebSocket、TCP、UDP、MQTT 服务的开发。特别适合互联网微服务、即时通讯聊天im、物联网等场景!QQ群:17916227
https://www.imiphp.com
Other
1.17k stars 169 forks source link
amqp coroutine golang grpc imi jwt kafka mqtt mvc mysql pgsql php php-framework rabbitmq redis roadrunner swoole swoole-framework websocket workerman

imi - PHP 长连接微服务分布式开发框架

imi

Latest Version GitHub Workflow Status (branch) Php Version Swoole Version imi Doc imi License star codecov

介绍

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

imi 提供了丰富的基础功能:MySQLPostgreSQLRedis超强超好用的自研 ORM连接池Web ApiWeb MVCWebSocketTCP ServerUDP ServerHTTP2MQTTgRPC容器化(Container)依赖注入Aop事件异步(Async)缓存(Cache)命令行(Command)配置化(Config)上下文(Context)定时任务(Cron)门面(Facade)验证器(Validate)锁(Lock)日志(Log)定时器(Timer)权限控制消息队列(RabbitMQ、Kafka、Redis)Swagger宏(Macro)限流共享内存Smarty雪花算法发号器(Snowflake)Workerman GatewayInfluxDBTDengine 等组件。

同时,imi 还提供了微服务相关支持:Nacos 配置中心etcd 配置中心Nacos 服务注册Nacos 服务发现Swoole TrackerZipkinJaegerPrometheusInfluxDB 服务指标监控TDengine 服务指标监控负载均衡 等组件。

除此之外,imi 还提供了管理后台开发骨架 imi-admin

imi 框架自 2018 年 6 月 21 日首次发布以来,已经稳定运行在许多项目中,例如文旅电商平台、物联网充电云平台、停车云平台、支付微服务、短信微服务、钱包微服务、卡牌游戏服务端和数据迁移服务(虎扑)等项目。

imi AI

imi 官方提供了一个 AI 助手 imi-ai,不管是工作、生活、学习,它都可以帮你解决问题。

凡在 imi 官网赞助过的,凭支付记录凭证,联系宇润领取等额的激活卡号!

凡在 imi Github/Gitee 提交过 PR 的,凭截图联系宇润领取一定额度的激活卡号!

目前纯公益运营,注册会赠送一定免费额度。

由于 OpenAI 接口调用是有成本的,如果额度用完,也欢迎大家来支持开源事业,价格和 OpenAI 官方一致,1RMB=72000 Tokens。

社群

imi 框架交流群: 17916227 点击加群

微信群:(请注明来意)

imi

打赏赞助:https://www.imiphp.com/donate.html

官方视频教程(完全免费)

imi 2.0 基础视频教程(免费连载中):

https://space.bilibili.com/768718/channel/seriesdetail?sid=274078 https://www.zhihu.com/people/yurunsoft/zvideos

imi 1.0 框架入门教程(免费11集全)https://www.bilibili.com/video/av78158909

imi 框架进阶教程——五子棋游戏开发(免费7集全)https://space.bilibili.com/768718/channel/detail?cid=136926

扩展组件

优秀的第三方组件

优秀的开源项目

开始使用

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

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

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

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

创建 gRPC 项目:composer create-project imiphp/project-grpc:~3.0.0

创建 MQTT Server 项目:composer create-project imiphp/project-mqtt:~3.0.0

完全开发手册

运行环境

Docker

推荐使用 Swoole 官方 Docker:https://github.com/swoole/docker-swoole

成功案例

无论您是在个人项目还是公司项目中使用 imi 开发,无论是开源还是商业项目,都可以向我们提交您的案例。

我们会对您提交的案例进行审查,可能会将其展示在 imi 官网、Swoole 官网等处,这将有助于您的项目推广和发展。

提交格式:

案例展示

成功案例:https://www.imiphp.com/case.html

imi 有你的案例会发展得更好,欢迎有条件的用户将项目案例挂上来,同时也是一种免费的宣传!


版权信息

imi 遵循木兰宽松许可证(Mulan PSL v2) 开源协议发布,并提供免费使用。

鸣谢

感谢以下开源项目 (按字母顺序排列) 为 imi 提供强力支持!

贡献者

贡献者

你想出现在贡献者列表中吗?

你可以做的事(包括但不限于以下):

提交 Pull Request 到本仓库,你可以成为 imi 的贡献者!

参与框架开发教程详见:https://doc.imiphp.com/v3.0/adv/devp.html