内容简介:亲爱朋友们,我又回来了,想死你们啦! 2个多月没有刷版本号,imi 并没有凉,而是因为我实在太忙啦! 我们公司项目使用 imi 已经上线,这两个多月大部分时候是针对 imi 做 bug 修复,以及开发体验的细节上的提升。...
亲爱朋友们,我又回来了,想死你们啦!
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://www.imiphp.com/
文档手册: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 上下文的加载
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Learn Python the Hard Way
Zed Shaw / Example Product Manufacturer / 2011
This is a very beginner book for people who want to learn to code. If you can already code then the book will probably drive you insane. It's intended for people who have no coding chops to build up t......一起来看看 《Learn Python the Hard Way》 这本书的介绍吧!