CakePHP 2.5.0-beta 发布

CakePHP 核心团队很自豪地宣布 CakePHP 2.5.0-beta 现已发布。

CakePHP 核心团队很自豪地宣布 CakePHP 2.5.0-beta[1] 现已发布。这是 2.5 分支的第一个测试版。2.5.0-beta 版本包含几个新特性,提高了 CakePHP 的性能、安全性以及易用性。完成后,这个新版本将替换 2.4.x 分支。手册[2] 中提供了一个迁移指南,如果您要从旧版本升级,我们建议您阅读它。

新特性

虽然迁移指南[2] 包含了 2.5.0 中的所有变更,但以下列举了一些让我们兴奋的新特性。

Cache::remember()

此方法允许您实现读通缓存操作。对于传递的缓存键,它会首先查找任何仍然有效的缓存数据。如果未找到,则会执行回调方法,并将它的返回值存储在缓存键下。

您会发现它对于减少围绕检查缓存未命中而产生的重复代码量很有用。

改进的 Memcached 支持

添加了一个新的缓存引擎来提供对 php 扩展 ext/memcached 的支持,它是利用这个流行的键值数据库的更快、支持更好的扩展。在引入这个新的适配器后,我们已弃用旧的 Memcache 引擎,并计划在 3.0 中删除它。

CompletionShell

对于支持命令补全的 shell 环境(例如 bash 和 zsh),我们提供了一个 cake shell,它将通过按下 Tab 键来帮助您获得 cake shell 的命令和选项补全。如果您曾经想知道有哪些 shell 可用,或者它们可以接受哪些选项,那么这可能对您有用。请务必查看文档,了解有关如何设置它的更多信息。

Security::encrypt() 和 AES 加密的 Cookie

如果您出于任何原因在 Cookie 中存储了不应该被用户更改的数据,您现在可以使用 AES 加密的 Cookie。它利用了 Security 类提供的新的 AES-256 加密来防止各种攻击,例如 Cookie 篡改。

全局和本地事件中一致的优先级

以前版本的 CakePHP 中的一个限制是,附加到全局 EventManager 的监听器始终会在任何其他本地监听器之前被调用,无论优先级如何。CakePHP 2.5 统一了全局和本地事件监听器之间的优先级队列。借助统一的优先级集,您可以实现更复杂、更完整的面向方面的程序。

API 文档[3] 和手册已更新,以反映 2.5.0 的更改和更新。

CakePHP 核心团队还希望欢迎 Brian Crowe (bcrowe) 加入团队。Brian 在 2.5 和 3.0 的开发过程中一直在积极改进手册、API 文档和代码。

衷心感谢所有参与者,无论是通过提交、工单、文档编辑,还是以其他方式为框架做出贡献。