CakePHP 4.1.0 发布

CakePHP 核心团队很高兴宣布 CakePHP 4.1.0 立即可用。这是 4.1.0 的第一个稳定版本。4.1.0 为 CakePHP 提供了许多大大小小的改进。

升级到 4.1.0

您可以使用 composer 升级到 CakePHP 4.1.0

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

弃用警告

4.1 引入了一些弃用。所有这些功能将在 4.x 期间继续使用,但在 5.0 中将被删除。请参阅 迁移指南

4.1.0 中的新功能是什么?

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

  • ORM 中支持公用表表达式 (CTE)。
  • ORM 中支持窗口函数。
  • Query::orderAsc()Query::orderDesc() 现在接受 Closure 作为其字段,使您可以使用提供的 QueryExpression 对象构建复杂的排序表达式。
  • debug()Debugger::printVar() 现在在 Web 上下文中输出 HTML,在 CLI 上下文中输出 ANSI 样式的输出。循环结构和重复对象的输出更简单。循环对象只被转储一次,并使用引用 ID 指回完整的值。
  • CsrfProtectionMiddleware 现在可以创建带有 samesite 属性集的 cookie。
  • 日志消息现在可以包含 {foo} 样式的占位符。这些占位符将被来自 $context 参数的值替换(如果可用)。

4.1.0 的贡献者

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

  • ADmad
  • andrii-pukhalevych
  • Cauan Cabral
  • chinpei215
  • Corey Taylor
  • Diego Sardina
  • diegosardina
  • Edgaras Janušauskas
  • Frank de Graaf
  • Jad Bitar
  • John Zwarthoed
  • Marc Würth
  • Mario Rothauer
  • Mark Scherer
  • Mark Story
  • Matthias Wirtz
  • McsKienNP
  • mcsknp
  • mtak3
  • ndm2
  • nojimag
  • Oliver Nowak
  • othercorey
  • saeideng
  • victoreassi
  • Vincent PLANCHER
  • Walther Lalk

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

下载 github 上的打包版本