CakePHP 3.0.0-beta1 发布

CakePHP 核心团队很高兴宣布 CakePHP 3.0.0 的第一个 beta 版本。

CakePHP 核心团队很高兴宣布 CakePHP 3.0.0 的第一个 beta 版本。在 3.0.0-alpha2 发布后的几周内,我们一直在努力将社区反馈纳入新版本,并完成剩余的更改,这些更改将以显著的方式破坏兼容性。

自 3.0.0-alpha2 以来发生的重大更改

自 3.0.0-alpha2 发布以来,已经进行了多项更改,这些更改将破坏与现有应用程序的兼容性。

I18n 已经重新实现

基于 ext/intlAura/Intl 的新本地化子系统提供了更强大的替换语法,并保留了向后兼容的基于 sprintf() 的格式化程序。请参阅 新的 i18n 文档 获取更多信息。L10n 类已被删除。

NumberHelper 现在使用 intl

Number 库和 NumberHelper 现在在内部使用 intl 来格式化货币和值。这使得 NumberHelper 完全了解应用程序的当前语言环境。addFormat() 方法已被删除。

目录布局更改

对 CakePHP 应用程序的目录布局进行了更多更改

  • src/Config 现在是 /config
  • src/bootstrap.php 现在是 /config/bootstrap.php
  • 日志文件现在默认位于顶级目录中。将它们与其他实际上是临时数据混合在一起有时会导致人们意外删除他们的日志文件。
  • Bake 模板现在应该放在 src/Template/Bake 中。

供应商前缀插件已更改

使用供应商前缀的插件(例如:AcmeCorpUsers)不再被重命名。现在必须使用 AcmeCorp/Users.User 而不是 Users.User。此外,供应商前缀将用作插件文件夹中的文件夹名称,因此插件将安装在 plugins/AcmeCorp/Users 文件夹中。

已删除的方法

  • basics.php 中定义的许多不常用的方法已被删除。config() 之类的函数不再存在。
  • Validation::ssn() 已被删除。
  • 已在 ORM 中添加对 CASE 语句的支持。
  • Helper::webroot()、Helper::assetUrl()、Helper::assetTimestamp() 已移动到 UrlHelper。这使您可以轻松替换每个帮助器中的 URL 构建功能。您需要将 Url 添加到帮助器中的 $helpers 列表中。
  • App::objects() 已被删除。

我们希望最大限度地减少未来 beta 和候选发布版中重大更改的影响。

3.0.0-beta1 中的新功能

  • 改进了插件的错误页面。
  • ORM 和整个框架中修复了大量错误。
  • Cookie 路径现在默认设置为应用程序的基目录。
  • 查询对象现在可以被 json 序列化。
  • 添加了 Shell::param()。
  • 添加了一个新的 collection() 全局简写函数,用于将数组转换为集合。
  • 许多 API 文档块和手册部分已得到改进。
  • 针对性能进行了多项优化。

有关 3.0.0 中所有更改的更多详细信息,请参阅 迁移指南。最后,我们要感谢迄今为止帮助 3.0 版本发布的所有人。我们已经取得了巨大的进步,没有你们的帮助,我们今天不会在这里。

下载 打包版本