CakePHP 4.2.0 发布

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

升级到 4.2.0

您可以使用 Composer 升级到 CakePHP 4.2.0

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

弃用警告

4.2 引入了几个弃用。所有这些功能将在 4.x 的整个生命周期内继续存在,但将在 5.0 中删除。请参阅 迁移指南

4.2.0 中有哪些新功能?

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

  • 完全支持 PHP8。
  • 实验性支持 依赖注入容器已添加。DI 容器使您能够将应用程序依赖项注入到控制器构造函数、控制器操作和命令构造函数中。
  • SQLServer 驱动程序现在使用客户端缓冲区进行结果。这极大地提高了性能。
  • Cake\Http\Middleware\SessionCsrfProtectionMiddleware 已添加。该中间件将 CSRF 令牌存储在会话中,而不是存储在 cookie 中。这使得 CSRF 令牌具有用户范围和基于会话的时间,与基于 cookie 的 CSRF 令牌相比,提供了更高的安全性。
  • 添加了一个新的实用程序类 Cake\Http\FlashMessage,其实例可通过 ServerRequest::getFlash() 获得。该类类似于 FlashComponent,允许您从任何具有请求的地方设置闪存消息,使其在中间件中非常有用。
  • Table::subquery()Query::subquery() 已添加。这些方法允许您创建没有自动别名的查询对象。
  • 现在支持字符串文字和 IdentifierExpression 的排序规则。

4.2.0 的贡献者

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

  • ADmad
  • Blaz
  • chris cnizzardini
  • Edgaras Janušauskas
  • Eugene Ritter
  • imo-tikuwa
  • Juan Basso
  • Mario Rothauer
  • Mark Scherer
  • Mark Story
  • ndm2
  • othercorey
  • Ricardo Turella
  • tanden
  • tikuwa

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

下载 GitHub 上的打包版本