Skip to content

重磅推出 Partial 概念!!!

Compare
Choose a tag to compare
@Yurunsoft Yurunsoft released this 28 Feb 06:20

这两周依然远程办公,忙于各种项目。这周更新的 Partial 很强大实用,可以看下的。

imi 视频教程已更新到第九集《模型和ORM》:https://www.bilibili.com/video/av78158909/

更新内容

增强

  • 新增 Partial 概念 (文档)

  • 树形模型新增支持注解设定主键字段 (文档)

优化

  • 优化 Redis 连接池资源类

  • 优化 Redis 连接池密码判断,现在为空字符串时,不会尝试密码登录

  • 优化树形模型代码

  • 优化热更新进程逻辑

修复

  • 修复 Inotify 热更新目录不存在报错问题

Partial

imi 的 Partial 思想是从 C# 中借鉴而来。Partial 可以将一个类的部分,分成几个文件,分别书写。

截止目前最新的 PHP 7.4 版本,还未在语言层面上支持 Partial 特性。

但依赖于 imi 强大的容器对象,终于在 PHP 中实现了 Partial 特性。

使用非常简单,使用 trait 编写,加上 @Partial 注解,可以方便地注入。

Partial 使用场景

  • 多人协作开发,修改同一个类文件难免有冲突。如果事先定义好接口,将不同方法分配给几个人开发,每个人只需要在自己的文件中编写,不用担心冲突问题。

  • 类的方法特别多,并且无法很好地拆分。这时候分到几个文件中,会相对比较好维护一些。

  • 有一些类是通过工具生成的,如果我们在类里编写了自己的代码,又需要重新工具生成一些内容,这时候会覆盖我们编写的代码。使用 Partial 在另一个文件开发,不会被覆盖掉。

Partial 概念引入 imi 框架前,imi 的模型生成工具将生成代码放在父类,用户在子类中编写代码。