CakePHP 3.0.9 发布

CakePHP 核心团队很高兴宣布 CakePHP 3.0.9 立即发布。这是 3.0 分支的维护版本。

错误修复

您可以在 3.0.9 中找到以下更改。请查看 变更日志 以了解所有提交内容。

  • MySQL 中的索引和约束反射现在范围限定为当前数据库。
  • . 现在允许在 ObjectRegistry 密钥中使用。这允许缓存配置在名称中包含 .
  • 日期时间验证现在可以正确处理子午线值。
  • 改进的 API 文档。
  • 使用自定义路由时,分页链接生成是正确的。
  • Entity::extractOriginalChanged() 现在返回最初为 null 的属性。
  • 在使用现有实体的 belongsToMany 关联中封送 _joinData 现在得到正确处理。
  • Text::tokenize() 在分隔符为多字节字符时现在按预期工作。
  • i18n extract 生成的文件夹具有正确的权限分配。
  • 实体在 afterSave 事件后现在标记为“干净”。
  • ORM 不会为实际上未更改的 hasMany 和 belongsToMany 关联发出 UPDATE 语句。
  • Response::file() 现在可以接受基名中包含 .. 的文件。

改进

作为 3.0 补丁版本的一部分,我们正在尝试实现更小的净新增功能。在 3.0.9 中添加了以下新功能

  • 关联现在可以定义一个 bindingKey(),此列允许您将关联绑定到非主键列。这旨在消除在关联中定义 foreignKey => false 的需求。
  • 集合现在可以轻松序列化和反序列化。这使得缓存集合更容易。
  • 当 debug=0 时,异常属性不再记录。
  • Response::body() 接受一个可调用函数,该函数可以直接回显内容或返回响应主体。
  • Email::configuredTransport() 已添加,以允许枚举已配置的电子邮件传输。
  • 字符串模板接受 ._ 作为变量名。这提高了与由 Hash::flatten() 生成的数组的兼容性。
  • 自定义类型类可以定义一个映射到更简单类型的 baseType。这使得 FormHelper 更容易为自定义类型生成输入。
  • i18n extract 现在支持 --no-location 选项。此选项将从生成的 POT 文件中省略消息的位置注释。

与往常一样,衷心感谢所有帮助完成此版本的社区成员,他们通过报告问题和发送拉取请求提供了帮助。

下载 github 上的打包版本