CakePHP 2.2 和 2.1.4 发布

CakePHP 核心团队很自豪地宣布 CakePHP 2.2.0 稳定版和 2.1.4 版立即发布,2.1.4 是 2.1.x 分支的最后一个错误修复版本。

CakePHP 团队很自豪地宣布 CakePHP 2.2.0 稳定版立即发布。如先前版本中所述,2.2 是与 2.1 兼容的 API 版本,在升级时应通常保持透明,除了您需要在配置文件中进行的几处添加。除了此版本之外,我们还标记了 2.1.4 版本,这是我们对 2.1.x 系列进行的最后的工作。任何进一步的稳定性修复都将在 2.2 分支中完成,因此我们鼓励大家尽快升级您的应用程序。

CakePHP 2.2 带有许多新功能和好东西,以下是对升级后您能找到的内容的快速总结。

  • 调度程序过滤器,一种轻量级的方式,可以将回调作为中间件附加到调度程序生命周期,以便更轻松地进行缓存或更快地进行操作响应。
  • 用于在模型上动态创建和删除验证规则的全新丰富的 API。
  • 自定义查找类型的无缝分页。
  • 支持真正的嵌套数据库事务。
  • 缓存组,一种使用标签标记和批量删除缓存条目(使用这些标签)的好方法。
  • 改进的日志记录支持,在 CakeLog 中添加了许多新的实用程序方法。
  • Configure 类现在可以将存储的值转储到任何持久性存储中。
  • AuthComponent 现在接受 `contain` 作为键,用于将额外的用户信息存储在会话中。
  • 对 CakeEmail 的若干改进,例如自定义标题字符集、自定义主题、设置链接域以及在配置时定义的自定义助手。
  • 使用 application/x-www-form-urlencoded 编码的 PUT 和 DELETE 请求将把其数据放置到 CakeRequest::$data 中。
  • Set 类已被弃用,取而代之的是 Hash,这是一种更快且更可靠的实现。
  • CakeTime 现在支持时区,并且能够完全将日期从一个时区转换为另一个时区。
  • CakeTime 现在除了字符串和时间戳之外,还可以接受 DateTime 对象。
  • FormHelper 现在根据验证规则更可靠地显示必填字段。
  • HtmlHelper::tableHeaders() 现在支持为每个表格单元格设置属性。
  • 更好的 Web 测试器体验。
  • 改进的错误处理,包括自定义致命错误模板。
  • 支持 Redis 进行缓存。
  • 为上传检查和自然数添加了新的验证方法。

请务必阅读完整的迁移指南,该指南位于 https://book.cakephp.com.cn/2.0/en/appendices/2-2-migration-guide.html

如果您一直关注 2.2 和 2.1 的每个版本,以下是此最终版本中的更改摘要。

2.1

  • 如果关联表已存在于数据库中,则不再加载 Fixture,从而可以将 Fixture 作为 SQL 加载。
  • 当驱动程序未启用时,MissingConnectionException 中的错误消息更清晰。
  • 数字助手中的数字的更好的区域设置支持。
  • 如果未找到 PHPUnit,则测试套件将发出更响亮的错误。
  • 对调试功能进行了小的改进。
  • 修复了使用 beforeValidate 回调更改内部模型数据时数据验证中的问题。
  • 提高了 PaginatorHelper 中页码链接的可靠性。
  • 提高了与 CentOS 服务器的兼容性。
  • 减少了 DboSource 中内部方法缓存中缓存冲突的可能性。
  • 修复了默认异常渲染器和自定义助手的相关问题。
  • 允许 Set::extract() 匹配空值。
  • 修复了 XmlView 中的小错误。
  • 修复了 Translate Behavior 中的错误。
  • 默认情况下设置 session.gc_maxlifetime。
  • 修复了在数组中使用长数字键时会话中的错误。

2.2

  • 在 Web 测试运行程序中提供了更具描述性的差异,用于失败的测试。
  • 完全符合 E_STRICT。
  • 修复了 CakeTime 时区支持的错误。
  • 现在可以在配置时定义助手,用于发送电子邮件。
  • 控制台命令现在按插件分组,核心和应用程序 shell 始终列在最后。
  • 修复了 ModelValidator 中的小问题,并提高了性能。

查看 2.2.0 [1] 和 2.1.4 [2] 的完整变更日志。下载打包的版本 [3]

CakeFest 2012 即将到来,我们已经期待在最好的 PHP 会议中举办精彩的演讲和研讨会。如果您还没有 预订您的门票,现在正是时候了,不要错过这个机会,因为我们仍然提供早鸟价!

一如既往,感谢友好的 CakePHP 社区提供的补丁、文档更改和新票证。没有您,就没有 CakePHP!