imi v0.1.1 发布:支持主从,DB 及模型大量提升和改进

栏目: 软件资讯 · 发布时间: 6年前

内容简介:最近 imi 主要更新内容是针对数据库、Redis、模型,因为实战中发现了很多理想化的不足,为此加入了一些新特性支持。 数据库支持主从啦!原连接池名后加.slave即为从库配置,非必设。如果配置了从库,默认查询走从...

imi v0.1.1 发布:支持主从,DB 及模型大量提升和改进

最近 imi 主要更新内容是针对数据库、 Redis 、模型,因为实战中发现了很多理想化的不足,为此加入了一些新特性支持。

数据库支持主从啦!原连接池名后加.slave即为从库配置,非必设。如果配置了从库,默认查询走从库,增删改走主库。如果在事务中,默认都走主库。

v0.1.1 更新内容:

新增

  • 新增支持配置数据库主从连接池,智能选择对应库连接

原连接池名后加.slave即为从库配置,非必设;如果配置了,默认查询走从库,增删改走主库;如果在事务中,默认都走主库

  • 新增模型写入数据处理前后事件(BeforeParseDataAfterParseData

  • 新增 ModelEvents::AFTER_QUERY 事件监听接口

  • 新增支持 ExtractProperty 注解,提取字段中的属性到当前模型

  • 新增模型序列化配置注解(SerializableSerializables

  • 新增支持为Transaction注解,设定事务类型及是否自动提交事务

Transaction(autoCommit="自动提交事务true/false,默认为true")

事务类型:

事务嵌套(默认)

Transaction(type=TransactionType::NESTING)

该方法必须在事务中被调用

Transaction(type=TransactionType::REQUIREMENT)

如果当前不在事务中则开启事务

Transaction(type=TransactionType::AUTO)

  • 新增支持 Swoole Redis 使用 scan object sort migrate hscan sscan zsca

  • 新增启动时显示系统、 PHP 、Swoole、时区信息

  • 新增服务启动时显示工作进程数量

优化

  • 调整__CLASS__、get_called_class()为面向对象写法

  • EventParam支持引用传参

  • ModelEvents::AFTER_FIND事件支持修改model

  • 增加事务注解处理容错判断

  • 新增数据库连接回收时,回滚事务

  • 当在模型类中使用 Transaction 注解时,不指定连接池名称,则获取模型连接池名称

  • 增加数据库资源open方法返回值

  • 优化Db容错

  • 调整和优化连接池,现在会抛出获取资源失败的异常

  • 调整 SQL 信息格式

  • 新增IHashCodeTHashCode,连接池资源用它

  • 调整 EventParam 类属性命名,减少冲突可能性

  • 调整使用 Redis 的键命名(连接上下文、连接分组、Session)

  • 调整连接上下文采用 HASH 存储

  • 调整连接分组采用 SET 存储

修复

  • 修复模型类非static方法下,调用事件存在的问题

  • 修复模型类非static方法下,调用query()方法错误的问题

  • 修复模型关联更新orphanRemoval失效问题

  • 修复模型序列化问题

  • 修复 IEvent 方法带有 static 的问题

  • 修复一处引用返回值潜在问题

不兼容更改

  • 调整模型静态方法事件名

原本为类名事件名,现在是类名:事件名

  • 修正数据库操作 join 方法默认改为 inner join

介绍

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

寻有缘人

想要加入我们吗?开源项目不能只靠一两个人,而是要靠大家的努力来完善~

我们需要你的加入,你可以做的事(包括但不限于以下):

最新代码以 dev 分支为准,提交 PR 也请合并至 dev 分支!


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上所述就是小编给大家介绍的《imi v0.1.1 发布:支持主从,DB 及模型大量提升和改进》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构、算法与应用

数据结构、算法与应用

(美)Sartaj Sahni / 汪诗林、孙晓东、等 / 机械工业出版社 / 2000-01 / 49.00

本书是关于计算机科学与工程领域的基础性研究科目之一――数据结构与算法的专著。 本书在简要回顾了基本的C++ 程序设计概念的基础上,全面系统地介绍了队列、堆栈、树、图等基本数据结构,以及贪婪算法、分而治之算法、分枝定界算法等多种算法设计方法,为数据结构与算法的继续学习和研究奠定了一个坚实的基础。更为可贵的是,本书不仅仅介绍了理论知识,还提供了50多个应用实例及600多道练习题。 本书......一起来看看 《数据结构、算法与应用》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试