CakePHP 3.8.0 发布

CakePHP 核心团队很高兴地宣布立即发布 CakePHP 3.8.0。这是 3.8.0 的第一个稳定版本。3.8.0 为 CakePHP 提供了许多改进,无论是大还是小。

此版本是 3.x 的最后一个计划功能版本。展望未来,核心团队将专注于支持 3.8 并完成 4.0.0。如果 4.0 发布后社区有重大兴趣,我们可能会发布 3.9 版本。

升级到 3.8.0

您可以使用 composer 升级到 CakePHP 3.8.0

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

弃用警告

3.8.0 添加了两个新的运行时弃用。最明显的弃用将出现在 Validator 中。在 3.7 中添加的新 allowEmpty* 方法的参数顺序已标准化为与 notEmpty* 方法中使用的顺序匹配。虽然很烦人,但我们认为现在添加警告并为 4.0 提供一致的方法比在几个 4.x 版本中保留弃用警告要好。

由于在大型应用程序中修复弃用警告可能是一项非平凡的任务,因此您可能希望禁用弃用警告,以便您可以逐步修复它们。要禁用弃用警告,请在 config/app.php 中将 Error.errorLevel 设置为 E_ALL ^ E_USER_DEPRECATED

有关 3.8 中弃用及其替换的更多详细信息,请参阅 迁移指南。弃用功能将继续存在并按以往的方式运行,直到 4.0.0。

3.8.0 中有哪些新功能?

有关 3.8.0 中新增内容的完整列表,请参阅 迁移指南。以下是一些 3.8.0 的亮点

  • CollectionTrait 现在使用 newCollection 方法创建克隆。这允许子类使用 newCollection 方法创建克隆,而不是使用 Collection
  • 添加了 Command::executeCommand()。此方法使从当前命令调用另一个命令变得简单。
  • 添加了 Validator::notEmptyString()notEmptyArray()notEmptyFile()notEmptyDate()notEmptyTime()notEmptyDateTime()。它们充当在 3.7 中添加的 allowEmpty* 方法的补充。
  • Validation::mimeType() 现在以不区分大小写的方式比较检查 mime 类型。
  • Validation::dateTime() 现在支持 iso8601 格式。
  • 单选按钮现在可以通过在复杂选项定义中使用 label 键来自定义生成的标签。此键将用于代替顶级选项中定义的 label 键。

3.8.0 的贡献者

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

  • ADmad
  • Andrej Griniuk
  • Cedric Alfonsi
  • Edgaras Janušauskas
  • Jeremy Harris
  • Jorge González
  • Lars Ebert
  • Marc Würth
  • Mark Scherer
  • Mark Story
  • Nicolas
  • Robert Pustułka
  • Simone Alers
  • andrii-pukhalevych
  • chinpei215
  • madbbb

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

下载 github 上的打包版本