CakePHP 2.5.5 和 2.6.0-beta 版本发布
CakePHP 核心团队很高兴宣布 CakePHP 2.5.5 和 2.6.0-beta 版本现已发布。
CakePHP 核心团队很高兴宣布 CakePHP 2.5.5 和 2.6.0-beta 版本现已发布。2.5.5 版本是 2.5 版本系列的 bug 修复版本,而 2.6.0-beta 版本是即将发布的 2.6.0 版本的测试版。2.5.5 版本中预计的变更列表如下:
- 如果不存在 TTY,控制台应用程序将不会输出颜色。
- 当使用 SKIP 标志时,Folder::copy() 不会覆盖文件。
- Hash::insert() 和 Hash::get() 现在可以处理 0 作为第一个路径元素。
- 改进的 API 文档。
- 修复了 Hash::remove() 可能会错误地删除数据的情况。
- UUID 列现在可以被 postgres 正确地反映。
- CakeEmail::reset() 现在重置电子邮件模式。
- Hash::expand() 和 Hash::merge() 现在快得多。
2.6 版本中的新功能
与所有其他 2.x 版本一样,2.6.0 版本将与之前的 CakePHP 2.x 版本向后兼容,并包含许多新的增强功能和改进。您可以在 2.6.0 版本中期待以下内容:
- stackTrace() 作为 Debugger::trace() 的便捷包装函数被添加。它直接回显,就像 debug() 一样。但前提是调试级别已打开。
- ConsoleOptionParser::removeSubcommand() 被添加。
- Shell::overwrite() 被添加,允许生成进度条或通过替换已输出到屏幕的文本来避免输出过多行。
- 当使用 AclBehavior 时,模型的 parentNode() 方法现在将类型(Aro、Aco)作为第一个参数传递:$model->parentNode($type).
- 使用 MySQL 的模式迁移现在支持在添加列时使用 after 键。此键允许您指定应在哪个列之后添加新列。
- Model::save() 从 3.0 版本移植了 atomic 选项。
- CakeRequest::param() 现在可以使用 :ref: hash-path-syntax(如 data())读取值。
- CakeRequest:setInput() 被添加。
- HttpSocket::head() 被添加。
- 现在可以使用 protocol 选项来覆盖在进行请求时使用的特定协议。
- CakeTime::timeAgoInWords() 现在支持 strftime() 兼容的绝对日期格式。这有助于使本地化格式化的时间更容易。
- CakeTime::timeAgoInWords() 现在支持 relativeStringFuture 选项。此选项是用于输出未来相对时间日期格式的 printf 兼容字符串。这有助于使本地化格式化的时间更容易。
- Hash::get() 现在在路径参数无效时抛出异常。
- Hash::nest() 现在在嵌套操作导致无数据时抛出异常。
- HtmlHelper::css() 添加了 once 选项。它的工作方式与 HtmlHelper::script() 的 once 选项相同。默认值为 false 以保持向后兼容性。
- 根据 HTML 规范,maxlength 属性现在也适用于 textarea,当相应的数据库字段类型为 varchar 时。
- 添加了新的 i18n 函数。这些新函数允许您包含消息上下文,这可以让您消除可能令人困惑的消息字符串的歧义。例如,“read” 在英语中可以根据上下文有不同的含义。新的 __x、__xn、__dx、__dxn、__dxc、__dxcn 和 __xc 函数提供了对新功能的访问。
Model 类中的一个长期存在的问题已被修复。因为它可能会被解释为 API 变更,所以有一个标志可以恢复原始行为。
- Model::afterFind() 现在始终使用一致的格式进行 afterFind()。当 $primary 为 false 时,结果将始终位于 $data[0][‘ModelName’] 下。您可以将 useConsistentAfterFind 属性设置为模型上的 false 以恢复原始行为。
除了新功能外,还有一些功能已被弃用,将在 CakePHP 3.0.0 版本中删除。
- Validation::between 已被弃用,您应该使用 Validation::lengthBetween 代替。
- Validation::ssn 已被弃用,并且可能会作为独立/插件解决方案提供。
- HtmlHelper::link() 的 $confirmMessage 参数已弃用。您应该改为在 $options 中使用 confirm 键来指定消息。
- FormHelper::postLink() 的 $confirmMessage 参数已弃用。您应该改为在 $options 中使用 confirm 键来指定消息。
如果测试版没有报告任何重大问题,您可以在大约 1 个月内期待发布候选版本,并在之后不久发布稳定版本。
对所有参与者表示衷心的感谢,包括通过提交、工单、文档编辑以及其他方式为框架做出贡献的人。