imi 是基于 PHP Swoole 的高性能协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 服务的开发。
在 Swoole 的加持下,相比 php-fpm 请求响应能力,I/O密集型场景处理能力,有着本质上的提升。
imi 框架拥有丰富的功能组件,可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。
从秃头到满头秀发的 imi 框架教程,全集免费观看👉https://www.bilibili.com/video/av78158909
每周四晚上更新至少一集,欢迎素质四连(点赞、收藏、投币、关注~)
- HttpApi、WebSocket、TCP、UDP 服务器
- MySQL 连接池 (主从+负载均衡)
- Redis 连接池 (主从+负载均衡)
- 超好用的 ORM (Db、Redis、Tree)
- 毫秒级热更新
- AOP
- Bean 容器
- 缓存 (Cache)
- 配置读写 (Config)
- 枚举 (Enum)
- 事件 (Event)
- 门面 (Facade)
- 验证器 (Validate)
- 锁 (Lock)
- 日志 (Log)
- 异步任务 (Task)
- RPC
- Hprose
- gRPC
- AMQP (支持 AMQP 协议的消息队列都可用,如:RabbitMQ)
- JWT (在 imi 框架中非常方便地接入 jwt)
- 权限控制
- Smarty 模版引擎
- 限流
- 跨进程变量共享
- Swoole Tracker
- 雪花算法发号器
创建 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
推荐使用 Swoole 官方 Docker:https://github.com/swoole/docker-swoole
imi 遵循 木兰宽松许可证(Mulan PSL v1) 开源协议发布,并提供免费使用。
感谢以下开源项目 (按字母顺序排列) 为 imi 提供强力支持!
- doctrine/annotations (PHP 注解处理类库)
- PHP (没有 PHP 就没有 imi)
- Swoole (没有 Swoole 就没有 imi)
你想出现在贡献者列表中吗?
你可以做的事(包括但不限于以下):
- 纠正拼写、错别字
- 完善注释
- bug修复
- 功能开发
- 文档编写(https://github.com/Yurunsoft/imidoc)
- 教程、博客分享
最新代码以
dev
分支为准,提交PR
也请合并至dev
分支!
提交 Pull Request
到本仓库,你就有机会成为 imi 的作者之一!
Redis、MySQL
-
创建
db_imi_test
数据库,将tests/db/db.sql
导入到数据库 -
配置系统环境变量,如果默认值跟你的一样就无需配置了
名称 | 描述 | 默认值 |
---|---|---|
MYSQL_SERVER_HOST | MySQL 主机名 | 127.0.0.1 |
MYSQL_SERVER_PORT | MySQL 端口 | 3306 |
MYSQL_SERVER_USERNAME | MySQL 用户名 | root |
MYSQL_SERVER_PASSWORD | MySQL 密码 | root |
REDIS_SERVER_HOST | Redis 主机名 | 127.0.0.1 |
REDIS_SERVER_PORT | Redis 端口 | 6379 |
REDIS_SERVER_PASSWORD | Redis 密码 | |
REDIS_CACHE_DB | Redis 缓存用的 db ,该 db 会被清空数据,请慎重设置 |
1 |
配置命令:export NAME=VALUE
-
首次运行测试脚本:
composer install-test
-
首次之后再运行测试的命令:
composer test
开源不求盈利,多少都是心意,生活不易,随缘随缘……