介绍
imi 是基于 PHP Swoole 的高性能协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 服务的开发。
在 Swoole 的加持下,相比 php-fpm 请求响应能力,I/O密集型场景处理能力,有着本质上的提升。
imi 框架拥有丰富的功能组件,可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。
核心组件
- HttpApi、WebSocket、TCP、UDP 服务器
- MySQL 连接池 (主从+负载均衡)
- Redis 连接池 (主从+负载均衡)
- 超好用的 ORM (Db、Redis、Tree)
- 毫秒级热更新
- AOP
- Bean 容器
- 缓存 (Cache)
- 配置读写 (Config)
- 枚举 (Enum)
- 事件 (Event)
- 门面 (Facade)
- 验证器 (Validate)
- 锁 (Lock)
- 日志 (Log)
- 异步任务 (Task)
扩展组件
- RPC
- Hprose
- 权限控制
- 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
运行环境
- Linux 系统 (Swoole 不支持在 Windows 上运行)
- PHP >= 7.1
- Composer
- Swoole >= 4.3.0
- Redis、PDO 扩展
版权信息
imi 遵循 木兰宽松许可证(Mulan PSL v1) 开源协议发布,并提供免费使用。
环境要求
Redis、MySQL
首次运行测试
- 创建 db_imi_test 数据库,将 tests/db/db.sql 导入到数据库
- 配置系统环境变量,如果默认值跟你的一样就无需配置了
配置命令:export NAME=VALUE
- 首次运行测试脚本:composer install-test
- 首次之后再运行测试的命令:composer test
更多使用方法可以查看官方文档
开源地址:
https://gitee.com/yurunsoft/IMI
更多更优质的资讯,请关注我,你的支持会鼓励我不断分享更多更好的优质文章。