CakePHP 4.5.0 发布

CakePHP 核心团队很高兴宣布 CakePHP 4.5.0 立即可用。这是 4.5.0 的第一个稳定版本。4.5.0 为 CakePHP 提供了许多改进。4.5.0 引入了大量弃用警告,旨在帮助将来升级到 CakePHP 5.0。

升级到 4.5.0

您可以使用 composer 升级到 CakePHP 4.5.0

php composer.phar require --update-with-dependencies "cakephp/cakephp:4.5.*"

弃用警告

4.5 引入了一些弃用。所有这些功能将在 4.x 的整个生命周期中继续存在,但将在 5.0 中移除。请查看 迁移指南

4.5.0 的新功能?

迁移指南 中列出了 4.5.0 中的所有新功能。我们建议您在升级时阅读该页面。以下是一些 4.5.0 的亮点

  • bin/cake cache clear_group <name> 已添加。此命令提供了一个清除特定缓存组的 CLI 接口。
  • ComponentRegistry 现在已自动添加到应用程序的 DI 容器中。
  • Controller::addViewClasses() 已添加。此方法允许您以编程方式构建控制器的视图类。
  • 数据库和 ORM 连接现在支持 readwrite 连接角色。连接角色允许您通过使用读副本来扩展应用程序。在定义连接时,角色可以使用连接配置中的 readwrite 键进行配置,这些键会覆盖共享配置。
  • 查询中添加了新方法来选择要使用的 readwrite 连接角色。
  • ModelAwareTrait::fetchModel() 已添加。此方法的工作原理类似于 loadModel(),但不会将模型设置为属性。
  • 开发错误页面设计已改进。它现在呈现链式异常,并使导航堆栈跟踪变得更容易,因为每个帧可以单独折叠。
  • 控制台异常消息现在包含链式异常的堆栈跟踪。
  • EntityTrait::$_hasAllowsNull 已添加。此属性允许您逐步选择在 5.x 中为 EntityTrait::has() 提供的重大更改。
  • View::addHelper() 已添加。此方法补充了 addBehavior()addComponent()

4.5.0 的贡献者

感谢所有帮助 4.5 实现的贡献者

  • ADmad
  • Alejandro Ibarra
  • Brian French
  • Chris Nizzardini
  • Jaro Varga
  • Jose Daian
  • Kevin Pfeifer
  • Lars Ebert
  • leon.schaub
  • Marcelo Rocha
  • Mark Scherer
  • Mark Story
  • Matthias Wirtz
  • othercorey
  • Roland Waldner
  • wowDAS Ing. Markus Ramšak

与往常一样,衷心感谢所有社区成员,他们通过报告问题和发送拉取请求帮助实现了此版本。4.5.0 是一个大型版本,如果没有社区的支持和反馈,将不可能实现。

接下来做什么

随着 5.0 和 4.5 的发布,核心团队将主要关注 CakePHP 5.x。未来的 4.x 版本将主要由社区驱动。4.x 的功能和错误修复版本将持续到 2025 年 9 月。4.x 的安全修复将持续到 2026 年 9 月。

5.x 的路线图仍在开发中。我们希望从 4.5.0 升级到 5.0 变得更加平滑,并且感谢您对升级困难的任何反馈。请打开一个问题并开始讨论。

下载 github 上的打包版本