yurunsoft / imi
imi 是一款支持长连接微服务分布式的 PHP 开发框架,可在 PHP-FPM、Swoole、Workerman 和 RoadRunner 等多种容器环境下运行。它支持 HttpApi、WebSocket、TCP、UDP、MQTT 服务的开发。
Fund package maintenance!
Yurunsoft
Open Collective
www.imiphp.com/donate.html
Installs: 11 808
Dependents: 4
Suggesters: 0
Security: 0
Stars: 1 173
Watchers: 35
Forks: 169
Open Issues: 19
Requires
- php: >=7.4
- composer-runtime-api: ^2.0
- ext-json: *
- monolog/monolog: ^2.2
- phpdocumentor/reflection-docblock: ^5.2
- psr/container: ~1.1|~2.0
- psr/http-message: ~1.0
- psr/http-server-middleware: ~1.0
- psr/log: ~1.0|~2.0|~3.0
- psr/simple-cache: ~1.0|~2.0
- symfony/console: ^5.1|^6.0
- symfony/event-dispatcher: ^5.1|^6.0
- symfony/polyfill-php80: ^1.23
- symfony/polyfill-php81: ^1.23
- symfony/polyfill-php82: ^1.26
- symfony/process: ^5.1|^6.0
- vlucas/phpdotenv: ~5.3
- yurunsoft/doctrine-annotations: ^1.73.0
Requires (Dev)
- composer/semver: ^3.3.2
- php-cs-fixer/shim: ~3.17.0
- phpstan/phpstan: ~1.8.0
- phpunit/phpunit: ~9.6
- psr/container: ~1.1.0
- psr/http-message: ~1.0.0
- psr/http-server-middleware: ~1.0.0
- psr/log: ~1.0.0
- psr/simple-cache: ~1.0.0
- rector/rector: ~0.13
- symfony/polyfill-uuid: ^1.27
- yurunsoft/ide-helper: ~1.0
- yurunsoft/yurun-http: ~5.0
Suggests
- ext-inotify: 高性能热更新支持
- ext-pdo: 数据库操作支持
- ext-uuid: 模型 uuid 发号器依赖
- symfony/polyfill-uuid: 模型 uuid 发号器依赖
- 3.0.x-dev
- 2.1.x-dev
- v2.1.64
- v2.1.63
- v2.1.62
- v2.1.61
- v2.1.60
- v2.1.59
- v2.1.58
- v2.1.57
- v2.1.56
- v2.1.55
- v2.1.54
- v2.1.53
- v2.1.52
- v2.1.51
- v2.1.50
- v2.1.49
- v2.1.48
- v2.1.47
- v2.1.46
- v2.1.45
- v2.1.44
- v2.1.43
- v2.1.42
- v2.1.41
- v2.1.40
- v2.1.39
- v2.1.38
- v2.1.37
- v2.1.36
- v2.1.35
- v2.1.34
- v2.1.33
- v2.1.32
- v2.1.31
- v2.1.30
- v2.1.29
- v2.1.28
- v2.1.27
- v2.1.26
- v2.1.25
- v2.1.24
- v2.1.23
- v2.1.22
- v2.1.21
- v2.1.20
- v2.1.19
- v2.1.18
- v2.1.17
- v2.1.16
- v2.1.15
- v2.1.14
- v2.1.13
- v2.1.12
- v2.1.11
- v2.1.10
- v2.1.9
- v2.1.8
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- 2.0.x-dev
- v2.0.59
- v2.0.58
- v2.0.57
- v2.0.56
- v2.0.55
- v2.0.54
- v2.0.53
- v2.0.52
- v2.0.51
- v2.0.50
- v2.0.49
- v2.0.48
- v2.0.47
- v2.0.46
- v2.0.45
- v2.0.44
- v2.0.43
- v2.0.42
- v2.0.41
- v2.0.40
- v2.0.39
- v2.0.38
- v2.0.37
- v2.0.36
- v2.0.35
- v2.0.34
- v2.0.33
- v2.0.32
- v2.0.31
- v2.0.30
- v2.0.29
- v2.0.28
- v2.0.27
- v2.0.26
- v2.0.25
- v2.0.24
- v2.0.23
- v2.0.22
- v2.0.19
- v2.0.18
- v2.0.17
- v2.0.16
- v2.0.15
- v2.0.14
- v2.0.13
- v2.0.12
- v2.0.11
- v2.0.10
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- 1.x-dev
- v1.3.17
- v1.3.16
- v1.3.15
- v1.3.14
- v1.3.13
- v1.3.12
- v1.3.11
- v1.3.10
- v1.3.9
- v1.3.8
- v1.3.7
- v1.3.6
- v1.3.5
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.26
- v1.2.25
- v1.2.24
- v1.2.23
- v1.2.22
- v1.2.21
- v1.2.20
- v1.2.19
- v1.2.18
- v1.2.17
- v1.2.16
- v1.2.15
- v1.2.14
- v1.2.13
- v1.2.12
- v1.2.11
- v1.2.10
- v1.2.9
- v1.2.8
- v1.2.7
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.29
- v1.0.28
- v1.0.27
- v1.0.26
- v1.0.25
- v1.0.24
- v1.0.23
- v1.0.22
- v1.0.21
- v1.0.20
- v1.0.19
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- v0.3
- v0.2.2
- v0.2.1
- v0.2
- v0.1.1
- v0.1.0
- v0.0.11
- v0.0.10
- v0.0.9
- v0.0.8
- v0.0.7
- v0.0.6
- v0.0.5
- v0.0.4
- v0.0.3
- v0.0.2-alpha
- v0.0.1-alpha
- dev-dependabot/github_actions/dot-github/workflows/actions/download-artifact-4.1.7
- dev-fix-autoEndSlash-duplicated
- dev-fix-test
- dev-fix-test-2.1
- dev-fix-postWhere
- dev-opt-connection-center
- dev-model-annotation-3.0
- dev-php8.3-test
- dev-swoole-5.1
This package is auto-updated.
Last update: 2024-11-22 16:42:55 UTC
README
介绍
imi 是一款支持长连接微服务分布式的 PHP 开发框架,它可以运行在 PHP-FPM
、Swoole
、Workerman
和 RoadRunner
等多种容器环境下。
imi 提供了丰富的基础功能:MySQL
、PostgreSQL
、Redis
、超强超好用的自研 ORM
、连接池
、Web Api
、Web MVC
、WebSocket
、TCP Server
、UDP Server
、HTTP2
、MQTT
、gRPC
、容器化(Container)
、依赖注入
、Aop
、事件
、异步(Async)
、缓存(Cache)
、命令行(Command)
、配置化(Config)
、上下文(Context)
、定时任务(Cron)
、门面(Facade)
、验证器(Validate)
、锁(Lock)
、日志(Log)
、定时器(Timer)
、权限控制
、消息队列(RabbitMQ、Kafka、Redis)
、Swagger
、宏(Macro)
、限流
、共享内存
、Smarty
、雪花算法发号器(Snowflake)
、Workerman Gateway
、InfluxDB
和 TDengine
等组件。
同时,imi 还提供了微服务相关支持:Nacos 配置中心
、etcd 配置中心
、Nacos 服务注册
、Nacos 服务发现
、Swoole Tracker
、Zipkin
、Jaeger
、Prometheus
、InfluxDB 服务指标监控
、TDengine 服务指标监控
和 负载均衡
等组件。
除此之外,imi 还提供了管理后台开发骨架 imi-admin。
imi 框架自 2018 年 6 月 21 日首次发布以来,已经稳定运行在许多项目中,例如文旅电商平台、物联网充电云平台、停车云平台、支付微服务、短信微服务、钱包微服务、卡牌游戏服务端和数据迁移服务(虎扑)等项目。
imi AI
imi 官方提供了一个 AI 助手 imi-ai,不管是工作、生活、学习,它都可以帮你解决问题。
凡在 imi 官网赞助过的,凭支付记录凭证,联系宇润领取等额的激活卡号!
凡在 imi Github/Gitee 提交过 PR 的,凭截图联系宇润领取一定额度的激活卡号!
目前纯公益运营,注册会赠送一定免费额度。
由于 OpenAI 接口调用是有成本的,如果额度用完,也欢迎大家来支持开源事业,价格和 OpenAI 官方一致,1RMB=72000 Tokens。
社群
微信群:(请注明来意)
打赏赞助: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
扩展组件
优秀的第三方组件
- 权限控制 (phpben/imi-auth)
- 注册中心 (phpben/imi-config-center)
- 模块化路由 (phpben/imi-module-route)
- ThinkPHP6 验证器 (phpben/imi-validate)
优秀的开源项目
开始使用
创建 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 官网等处,这将有助于您的项目推广和发展。
提交格式:
- 项目名称
- 项目介绍
- 项目地址(官网/下载地址/Github等至少一项)
- 联系方式(电话/邮箱/QQ/微信等至少一项)
- 项目截图(可选)
- 感言
案例展示
成功案例:https://www.imiphp.com/case.html
imi 有你的案例会发展得更好,欢迎有条件的用户将项目案例挂上来,同时也是一种免费的宣传!
版权信息
imi 遵循木兰宽松许可证(Mulan PSL v2) 开源协议发布,并提供免费使用。
鸣谢
感谢以下开源项目 (按字母顺序排列) 为 imi 提供强力支持!
- doctrine/annotations (PHP 注解处理类库)
- PHP (没有 PHP 就没有 imi)
- Swoole (没有 Swoole 就没有 imi)
贡献者
你想出现在贡献者列表中吗?
你可以做的事(包括但不限于以下):
- 纠正拼写、错别字
- 完善注释
- bug修复
- 功能开发
- 文档编写
- 教程、博客分享
提交 Pull Request
到本仓库,你可以成为 imi 的贡献者!
参与框架开发教程详见:https://doc.imiphp.com/v3.0/adv/devp.html