imi v1.0.12 发布,优化框架底层及请求上下文处理

来源: 投稿
2019-09-20 16:50:00

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

欢迎各路新人和大佬的加入贡献代码的行列中,修正错别字、错误拼写、提交代码,我们全都欢迎~

展开阅读全文
点击加入讨论🔥(3) 发布并加入讨论🔥
3 评论
5 收藏
分享
返回顶部
顶部