更新日志 1.15.0 — 2025 年 3 月 31 日¶
重要变更¶
规范化器编译
规范化器的新编译步骤已经实现,其目的是在标准化任何值时带来巨大的性能提升。它的工作原理是向流程添加静态分析过程,该过程将递归地分析规范化器应如何执行它可以满足的每个值。此过程会生成PHP 原生 代码条目,然后可以将其缓存以供进一步使用。
在映射器构建器中添加缓存时,会自动启用此编译缓存功能。这对于大多数用户来说应该是透明的,但由于这是代码中的重大更改(请参阅Pull Request #500 ),因此可能会漏掉一些错误。如果您遇到与此更改相关的问题,请提出问题,我们将尽力尽快修复它。
赞助和关于未来的说明
我的目标仍然是为该库的用户提供尽可能最佳的体验。为此,我们非常感谢激励性信息和财政支持。如果您使用此库并发现它有用,请考虑在 GitHub 上赞助该项目🤗
这个功能的开发花了近两年的时间,主要是因为业余时间有限。我希望您喜欢这个功能,就像我喜欢构建它一样!
顺便说一句,下一个主要项目将为映射器添加编译的缓存条目功能,类似于规范化器的实现方式。敬请关注…
新功能¶
- 引入编译的规范化器缓存( a4b2a7 )
错误修复¶
- 接受实现接口的对象而不进行推断设置( edd488 )
- 处理对象构造函数中的自引用类型 ( dc7b6a )
- 正确处理联合类型中没有实现的接口( f3f98d )
- 正确匹配没有子类型的类字符串类型 ( c8fe90 )