imi v0.0.9 支持 Swoole 4.1.0 一键协程化,40 余项改进

这里写图片描述

v0.0.9 更新内容:

新增:

适配支持 Swoole 4.1.0 一键协程化

新增进程池支持

新增模型生成时,如目录不存在则自动创建

新增ProcessManager::runWithManager方法,可以在IMI.SERVERS.CREATE.AFTER事件中使用

新增Result->getSql()、Result->getStatement()方法

新增Manager、Worker、Process进程初始化时重新播种随机数

为CoroutineChannelManager::pop()方法增加$timeout参数

新增自定义进程运行时初始化连接池等

新增使用文件锁实现进程唯一实例限制

优化:

优化ConnectContext和Group的Redis初始化判断逻辑

热更新进程现在绑定到Manager进程下

优化模型生成视图,默认第一个字段为主键

同步池子兼容swoole 4.0.3及以上

优化报错追踪准确性

模型中对数据库bit类型字段处理为bool类型

优化模型保存时null值判定逻辑

调整WorkerStart处理

调整枚举文件、类文件缓存目录方法

优化模型更新数据时支持两种命名的字段

优化模型更新时数据先转为数组

调整优化BeanFactory实例化类时参数处理逻辑

修改热更新进程启动文本

调整:IMI.INITED事件中对项目类进行扫描,热重启仅对服务器类有效

封装提取获取imi命令行方法

优化Result->get()、Result->getArray()当数据不存在时返回null

增加热更新进程启动提示

提取封装Bean类缓存相关方法

修复:

修复 Swoole <= 4.0.4 下可能会出现的热更新崩溃问题

修复数据库连接配置问题,使用username指定用户名

修复ManagerStop事件触发失败

修复CoroutineChannelManager::stats()方法

修复ConnectContext Redis存储读取问题

修复模型生成器nullable为反值的bug

修复命名空间未引入

修复模型带where条件某些情况存在的问题

修复kv存储类问题

修复缓存初始化错误

修复模型更新时带有不想关的字段

废除:

移除日志自动保存机制,现在日志会实时传入处理器

废除日志中lastTrace项 增加支持{errorFile}、{errorLine}

介绍

IMI 是基于 Swoole 开发的协程 PHP 开发框架,完美支持 Http、WebSocket、TCP、UDP 开发,拥有常驻内存、协程异步非阻塞IO等优点。

IMI 框架文档丰富,上手容易,致力于让开发者跟使用传统 MVC 框架一样顺手。

IMI 框架底层开发使用了强类型,易维护,性能更强。支持 Aop ,支持使用注解和配置文件注入,完全遵守 PSR-3、4、7、11、15、16 标准规范。

框架的扩展性强,开发者可以根据实际需求,自行开发相关驱动进行扩展。不止于框架本身提供的功能和组件!

官网:https://www.imiphp.com/
文档手册:https://doc.imiphp.com/

代码仓库:
码云:https://gitee.com/yurunsoft/IMI
Github:https://github.com/Yurunsoft/IMI

空项目:https://gitee.com/yurunsoft/empty-imi-demo
功能Demo:https://gitee.com/yurunsoft/imi-demo

寻有缘人

我希望在以后,phper 能够自信地用着 php,不至于在项目成熟的后期被其他语言重构掉。

一个开源项目不能仅靠一个两个人,需要大家一起来完善壮大。

我们需要你的加入,以便完善:

贡献代码(BUG修复、新功能开发……)

丰富文档(文档非常重要)

教程、博客分享

你可能感兴趣的:(imi,php,swoole,imi)