imi 是基于 PHP Swoole 的高性能协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 服务的开发。
在 Swoole 的加持下,相比 php-fpm 请求响应能力,I/O密集型场景处理能力,有着本质上的提升。
imi 框架拥有丰富的功能组件,可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。
毫秒级的注解及代码热更新,让你在开发时只管一把梭,体验与 fpm 下开发并无二致,保存就刷新,立马看到效果。
与其他专注微服务领域的 Swoole 框架不同,imi 专注单体应用开发。原因很简单:大部分公司都不需要上微服务,单体应用足矣。
官方网站: https://www.imiphp.com/
imi 框架第一个版本 v0.0.1 首发于 2018 年 6 月 21 日
本周主要优化了框架底层、请求上下文处理性能,另外做了一些功能上的小增强。
测试用例做到全覆盖:PHP 7.1、7.2、7.3、7.4、nightly、Swoole 4.3、4.4、master
新增
- 验证注解新增支持:非必验证参数,只有当值存在才验证
- 新增 File::putContents() 方法,写入内容到文件,如果目录不存在自动创建多级目录
- File::createFile() 新增 $content 参数
- 新增 ConnectContext::muiltiSet() 方法批量设置上下文数据
- 新增 RequestContext::use() 方法
优化
- 优化一波框架底层性能
- 优化一些请求上下文处理性能
- 优化 StatementManager
- 支持 @app.db.statement.cache 配置是否开启 statement 缓存,默认开启
- ConnectContext::create() 支持传入初始化参数
修复
- 修复在自定义进程中操作 ConnectContext、ConnectGroup 导致进程卡死问题
开始使用
创建 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
完全开发手册: https://doc.imiphp.com/
imi 组件库: https://github.com/imiphp
imi 官方指定 Http 客户端(替代 Curl): https://github.com/yurunsoft/yurunhttp
欢迎各路新人和大佬的加入贡献代码的行列中,修正错别字、错误拼写、提交代码,我们全都欢迎~