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 上的打包版本。