CakePHP 3.0.0 开发预览版 1 发布

CakePHP 核心团队非常高兴地宣布 CakePHP 3.0 的第一个开发预览版

CakePHP 核心团队非常高兴地宣布 CakePHP 3.0[1] 的第一个开发预览版。团队一直在努力工作,我们对迄今为止取得的进展感到非常兴奋和满意。我们发布此类开发预览版的目标是收集有关 CakePHP 3.0 中即将发生的更改的早期反馈。虽然 CakePHP 3.0 中将发生许多变化,但我们这次发布的重点是 ORM。

CakePHP 中的模型层在过去 8 年中为社区提供了非常好的服务,但它已经开始显露出它的老态。CakePHP 3.0 的目标之一是用更现代的面向对象实现替换老化的 ORM。此开发预览版包含新 ORM 的基础。ORM 具有许多您在未来 3.0 版本中可以预期到的功能/方法,尽管有一些粗糙的地方。

CakePHP 3.0 代表了向后兼容性的重大突破。这是该项目有史以来最大的突破之一。我们正在尝试仅在必要时修改现有方法和类。然而,现代化 ORM 对框架的其他部分产生了重大影响。由于我们已经从头开始构建一个将成为一个很棒的 ORM,因此您可以在接触 ORM/模型的所有内容中预期相当重大的变化。

仍处于预览阶段

我们想提醒您,这是一个开发预览版。许多功能不完整或缺失。例如,TreeBehaviorTranslateBehavior 还没有 3.x 版本。此版本不适合生产使用,应视为 alpha 软件。我们希望通过发布预览版,我们可以从您——社区——那里获得有关 CakePHP 3.0 的反馈。以下功能已知不完整或已损坏。我们目前不会接受这些功能的任何错误报告。

  • Console/cake bake 目前无法使用。
  • FormHelper 尚未与新的 ORM 配合使用。
  • SchemaShell 已被删除。
  • Scaffold 已被删除。
  • 许多行为已被删除或无法正常工作。
  • AclComponent 不适用于 DbAcl。

除了不完整的子系统外,许多子系统都进行了破坏性 API 更改。我们建议您查看迁移指南[2],以详细了解哪些方法/类已更改。

其他改进

除了 ORM 之外,我们还改进了框架的其他部分。以下是您可以预期的一些改进的简要列表:

  • 反向路由现在几乎具有一致的时间复杂度。在以前的版本中,随着路由数量的增加,反向路由性能会下降。由于命名路由和一些额外的优化,即使在大量路由的情况下,路由性能也应该保持更一致。
  • 路由前缀现在映射到子命名空间中的控制器,而不是前缀方法。
  • 新的 HTTP 客户端。HttpSocket 类已被完全重写。现在它更简单、更高效、更易于使用。
  • 简化的配置。虽然 CakePHP 不需要太多配置。但它所具有的配置现在比以往任何时候都更简单、更透明。
  • 采用社区标准。CakePHP 正在利用 PSR-0、PSR-1 和 composer 支持。
  • 简化的事件系统。事件系统现在比以往任何时候都更简单、更高效。

入门

除了框架更改之外,我们还为应用程序骨架[3] 创建了一个新存储库。您可以使用 composer[4] 安装此骨架和 CakePHP 的开发预览版。下载并安装 composer 后,您可以使用

$ php composer.phar create-project -s dev cakephp/app

这将生成一个新的应用程序,以便您可以开始尝试 CakePHP 3.0。

在线文档

虽然这是一个预览版,但我们一直在忙于构建代码更改的文档。正在开发的手册[5] 和 API[6] 已经上线。随着更多文档和示例的编写,它们将不断更新。

参与进来

如果您对 CakePHP 3.0 的热情与我们一样,您可以通过多种方式参与进来。您可以帮助解决 github[7] 中的开放问题,或对任何开放的 RFC/增强票据发表您的看法。这两者都有助于我们设计和构建最好的框架。如果您在阅读文档时发现错误,请告诉我们,可以通过打开一个问题或发送一个拉取请求。

我要感谢所有为 3.0 提供过想法、代码、文档或反馈的人。这将是该项目的一个重要里程碑,我们才刚刚开始努力使其成为有史以来最好的 CakePHP 版本。