内容简介:亲爱朋友们,我又回来了,想死你们啦!2个多月没有刷版本号,imi 并没有凉,而是因为我实在太忙啦!
亲爱朋友们,我又回来了,想死你们啦!
2个多月没有刷版本号,imi 并没有凉,而是因为我实在太忙啦!
我们公司项目使用 imi 已经上线,这两个多月大部分时候是针对 imi 做 bug 修复,以及开发体验的细节上的提升。
这次 v0.3 版本发布是这两个月工作成果的一次总结,在此感谢群友们为 imi 做出的贡献!
最后,距离 imi 的 v1.0 正式版发布越来越近啦!
更新日志
新增
-
新增方法参数过滤器 FilterArg
-
新增 ArrayUtil::random() 方法,获取随机成员
-
新增 imigo 函数(启动一个协程,自动创建和销毁上下文)
-
新增 imiCallable 函数(为传入的回调自动创建和销毁上下文,并返回新的回调)
-
新增 IMI.REQUEST_CONTENT.CREATE、IMI.REQUEST_CONTENT.DESTROY事件
-
新增注解: DbInject、RedisInject、PoolResource
可用于注入连接池中的资源对象到属性
-
新增支持根据记录数计算总页数, Pagination->calcPageCount
-
缓存注解允许指定 hash 方法,默认为 md5
调整/增强
-
调整模型生成逻辑,生成表结构定义在基类,实际的模型类继承基类
修改了表结构重新生成模型,也不用担心会覆盖掉模型类中自己写的方法
-
现在注入方法的 Before 也可以修改参数了
-
ExtractData 注解从此脱离 HttpValidation 注解依赖
-
调整默认 runtime 路径为:项目命名空间根下的 .runtime 目录中
避免默认在 /tmp 目录中,可能被 linux 内置清理给清掉了
-
热更新进程默认将 runtime 目录加入排除
-
调整连接池配置 maxActiveTime 默认值为 null,新增 maxUsedTime 参数
-
调整连接池配置,当 gcInterval 为 null 时,不启动定时器
-
禁止在 MacOS 下设置进程名,解决报错问题
-
连接池配置默认 minResources 调整为 1
-
数据库查询器的 join 方法现在支持对表名使用 as 设定别名
例:Db::query()->join('table as alias')
-
为 PDO Statement 兼容支持 bool 类型值代入
-
Cache 相关注解的 key 属性,支持用 {:args} 代入所有方法参数的 hash 值
-
当使用 Swoole 协程 Redis 时,支持使用 _serialize() 方法
-
新增路由初始化时的服务器类型判断
-
调整热更新检测用到的文件路径到 runtime 中
-
View 注解的 renderType 属性默认设置从 html 改为 json
原因:使用 imi 更推荐是用于开发接口,而不是用于后端页面渲染
修复
-
修正错误的注释
-
修复 Session 中间件潜在问题
-
修复 ExtractData注 解在特定情况无效问题
-
修复内存表模型,当属性名和 Column 注解中设定不一致时的问题
-
修复使用内存表模型时的 Trying to get property of non-object 问题
-
修复 buildRuntime 问题
-
修复 Statement 问题
-
修复数据库连接回收后还有残留的问题(Statement 缓存化的原因)
-
修复连接池资源释放,以及并发情况下数量超过 maxResources 配置的问题
-
修复池子重复初始化问题
-
修复数据库关键词处理逻辑问题
-
修复当删除文件时,热更新报错问题
-
修复一个 notice 问题
-
修复部分场景下,框架内部无法正常启动命令行
-
修复查询器 leftJoin() 方法实际为 inner join 的问题
-
修复 WS、TCP、UDP 注解中间件问题
-
修复缓存功能在非服务器上下文下无法使用的问题
-
修复使用 ? 预处理 SQL 的问题
-
修复 imi/buildImiRuntime 后存在的注解修改无效问题
-
修复重复 send() 导致的 Http request is finished 问题
-
修复 WebSocket 无法握手问题
-
修复少数环境中无法正常启动项目的问题
-
修复配置文件注入属性的问题
-
修复 logCacheNumber 数字判定 bug
-
修复 Call to a member function isVariadic() on null 问题
-
修复 TCP、UDP 作为子服务器时的 setting 问题
-
修复配置路由问题
-
修复进程池进程名称问题
-
修复命令行参数解析不严谨的问题
-
修复类没有被 use 的问题
-
修复验证失败时,buildMessage 存在的问题
介绍
imi 是基于 PHP 协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 应用开发。
由 Swoole 提供强力驱动,Swoole 拥有常驻内存、协程非阻塞 IO 等特性。
框架遵守 PSR 标准规范,提供 AOP、注解、连接池、请求上下文管理、ORM模型等常用组件。
imi 的 模型支持关联关系的定义 ,增删改查一把梭!
文档手册: https://doc.imiphp.com/
代码仓库:
码云: https://gitee.com/yurunsoft/IMI
Github: https://github.com/Yurunsoft/IMI
Demo: https://gitee.com/yurunsoft/imi-demo
imi 组件仓库: https://github.com/imiphp
imi名字由来
宇润我是一个小米公司、小米产品、雷军的粉丝。我对 imi 的正确分词是i mi。谐音爱米,中式英语的意思是我米。
寻有缘人
想要加入我们吗?开源项目不能只靠一两个人,而是要靠大家的努力来完善~
我们需要你的加入,你可以做的事(包括但不限于以下):
-
纠正拼写、错别字
-
完善注释
-
bug 修复
-
功能开发
-
教程、博客分享
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- imi v0.3 发布,自动管理请求上下文,新增参数过滤器
- DDD:识别限界上下文以及理解上下文映射
- DDD:识别限界上下文以及理解上下文映射
- 如何划分限界上下文
- 详解Flask上下文
- Spring 上下文的加载
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。