CakePHP 2.1 beta 最新发布

继两周前发布 2.1.0-alpha 版本后,CakePHP 核心团队很高兴宣布立即提供 2.1.0-beta 版本。

CakePHP 核心团队很自豪地宣布立即提供 CakePHP 2.1.0 beta [1]。正如之前发布中所述,此版本与 2.0.5 完全向后兼容,可以轻松地将您的应用程序更新到该版本,从而开始利用此版本中实现的许多改进。

除了最初的 2.1 alpha 版本外,此 beta 版本总共进行了 100 多次提交,并增加了 5 项新功能或增强功能。可以在更改日志页面 [2] 中查看更改的完整列表。以下是此版本主要亮点的简要列表

ThemeView 现已弃用

我们意识到,必须使用单独的类并在控制器类中添加更多配置并不是理想的解决方案。我们将所有 ThemeView 功能合并到 View 类中。更轻松的主题支持!

改进的 HTTP 缓存

2.0 和 1.3 之间的主要区别之一是响应类,您可以使用它更轻松地设置响应头。此更改已帮助许多设置缓存头以利用 Varnish 等反向代理的人员。我们更进一步,在 CakeResponse 类中提供了多种新方法,以微调 HTTP 缓存的选项。

RequestHandlerComponent 现在将在检测到客户端具有缓存的资源版本时停止视图渲染过程。这意味着响应时间缩短,每个请求的 CPU 周期减少。为了利用此功能,您需要使用 CakeResponse 类中提供的 modified()etag() 方法。CakePHP 手册中有一些示例可以帮助您理解此新功能。

其他更改

  • 事务命令 (BEGIN、COMMIT、ROLLBACK) 现在显示在数据库日志中
  • 添加了 Set::nest()Set::get()。前者用于使用数组键作为引用从普通数组创建嵌套数组。 Set::get() 用于使用点符号访问任何数组值。
  • 添加了 Router::defaultRouteClass() 以获取/设置默认路由类。这使得设置全局默认值变得容易,这对于 slug 路由或 i18n 很有用。
  • I18n::translate() 现在接受一个新的 $language 参数。它现在还公开了用于读取 .po 文件的方法,这对于自定义翻译界面很有用。`
  • 身份验证对象现在可以接收一个“recursive”选项以限制在用于查找用户的查询中返回的数据。

我们决定为整个 2.x 分支保留一本手册。您可以在当前手册中阅读与 2.1 版本相关的更改。我们正在努力尽快为这个新版本建立一个新的 api 网站。一如既往,感谢友好而热情的 CakePHP 社区提供的补丁、文档更改和新的问题。没有你,就没有 CakePHP!

  • 下载打包发布版 [1]
  • 查看更改日志 [2]