跳至正文

更新日志 1.15.0 — 2025 年 3 月 31 日

重要变更

规范化器编译

规范化器的新编译步骤已经实现,其目的是在标准化任何值时带来巨大的性能提升。它的工作原理是向流程添加静态分析过程,该过程将递归地分析规范化器应如何执行它可以满足的每个值。此过程会生成PHP 原生 代码条目,然后可以将其缓存以供进一步使用。

在映射器构建器中添加缓存时,会自动启用此编译缓存功能。这对于大多数用户来说应该是透明的,但由于这是代码中的重大更改(请参阅Pull Request #500 ),因此可能会漏掉一些错误。如果您遇到与此更改相关的问题,请提出问题,我们将尽力尽快修复它。

赞助和关于未来的说明

我的目标仍然是为该库的用户提供尽可能最佳的体验。为此,我们非常感谢激励性信息和财政支持。如果您使用此库并发现它有用,请考虑在 GitHub 上赞助该项目🤗

这个功能的开发花了近两年的时间,主要是因为业余时间有限。我希望您喜欢这个功能,就像我喜欢构建它一样!

顺便说一句,下一个主要项目将为映射器添加编译的缓存条目功能,类似于规范化器的实现方式。敬请关注…

新功能

  • 引入编译的规范化器缓存( a4b2a7 )

错误修复

  • 接受实现接口的对象而不进行推断设置( edd488 )
  • 处理对象构造函数中的自引用类型 ( dc7b6a )
  • 正确处理联合类型中没有实现的接口( f3f98d )
  • 正确匹配没有子类型的类字符串类型 ( c8fe90 )

其他

  • 添加获取原生类型的方法 ( 7213eb )
  • 改进整数值类型匹配算法( 048a48 )
  • 更新联合类型 ( d1ab6a ) 无效值的默认错误消息