CakePHP 4.4.0-RC2 发布
CakePHP 核心团队很自豪地宣布 CakePHP 4.4.0 的第二个候选版本。4.4.0 版本将引入一些新功能和一些弃用。
新功能
该 迁移指南 有一个完整的 4.4.0 中新增内容列表。我们建议你在升级时阅读该页面,因为它概述了 4.4 中存在的弃用功能。
4.4.0-RC1 后的变化
- 现在,当前请求会自动添加到应用程序的依赖注入容器中,使拥有依赖于当前请求的服务变得更加容易。
- Fixture 模式反射现在会清除表注册表,以防止在 initialize() 挂钩中初始化表的应用程序出现错误。
- PaginatorHelper::limitControl() 现在支持多重分页。
- 在 Debugger 上的其他功能已被弃用,建议改为使用 ErrorTrap。
- 分页类已移至 Cake\Datasources\Paging 下。
- 已将 DefaultPaginator 重命名为 NumericPaginator。
- 依赖注入容器中的实验性标志已被移除。现在它被认为是稳定的 API。
- 改进了 ErrorTrap 和 ExceptionTrap 中的日志记录配置。
- 修复了 BelongsToMany 关联中 bindingKey 的缺失使用问题。
- 改进了对无效 cookie 名称的处理。
- 改进了具有多种内容类型选项的文件类型的内容协商。
- 现在,FormHelper 的 FormContext 适配器支持非默认验证规则集。
- 为 View 添加了“匹配所有”类型,以便可以在新的内容协商功能中实现回退视图类。
- 在 redis 缓存引擎中添加了 deleteAsync() 和 clearBlocking() 方法。
- 在 ErrorLoggerInterface 中添加了带有注释的新方法。新的 logError() 和 logException() 方法将在 5.x 中分别替换 logMessage() 和 log() 方法。在使用新的错误处理子系统之前,你应该更新任何自定义错误记录器。
- 改进了 API 文档。
- 删除了 PHP 8.2 中已弃用的字符串插值用法。
你可以如何帮助
你可以通过在应用程序中试用 RC 来提供帮助。如果新版本在你的应用程序中产生了任何新的测试失败或回归,请打开问题。
4.4.0-RC2 的贡献者
感谢所有帮助过 4.4.0 的贡献者
- ADmad
- Andrii Pukhalevych
- Corey Taylor
- Danial Khoshkhou
- dependabot[bot]
- Gerasimos
- itosho
- Kevin Pfeifer
- Mark Scherer
- Mark Story
- OJMichael
- othercorey
- Remy Bos
我们还要感谢 Guarang Maheta,他向我们通报了 bakery.cakephp.org 中的安全问题并帮助我们解决了它。
像往常一样,我们要对所有帮助发布此版本的社区成员表示衷心的感谢,他们报告了问题并发送了拉取请求。
下载 github 上的打包版本。