CakePHP 2.6.0 发布
CakePHP 核心团队很自豪地宣布 CakePHP 2.6.0 现已正式发布。
CakePHP 核心团队很自豪地宣布 CakePHP 2.6.0 现已正式发布。自 RC1 发布以来,2.6.0 进行了以下更改:
- AuthComponent 现在在用户登录后触发 Auth.afterIdentify 事件。
- HtmlHelper::script() 和 HtmlHelper::css() 不再共享一个用于 once 选项的单一资产列表。
- Postgres 驱动程序支持 sslmode。
- 测试套件现在可以使用 PHPUnit 的 phar 文件。
- MySQL 驱动程序现在支持 RLIKE 操作符。
- API 文档改进
- PaginatorHelper 现在将用于活动链接的选项与用于禁用链接的选项合并。
新功能亮点
- 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 属性也将应用于文本区域,前提是相应的数据库字段为 varchar 类型。
- 已添加新的 i18n 函数。这些新函数允许您包含消息上下文,这使您可以消除可能含糊不清的消息字符串。例如,“read” 在英语中可能有多种含义,具体取决于上下文。新的 __x、__xn、__dx、__dxn、__dxc、__dxcn 和 __xc 函数提供了对这些新功能的访问。
- AuthComponent 现在在成功识别用户后触发 Auth.afterIdentify 事件。
- Model::afterFind() 现在始终使用一致的格式进行 afterFind()。当 $primary 为 false 时,结果将始终位于 $data[0][‘ModelName’] 下。您可以设置 $this->useConsistentAfterFind = false 以恢复原始行为,如果您的应用程序依赖于旧行为。
- 配置值 I18n.preferApp 现在可用于控制翻译的顺序。如果设置为 true,它将优先使用应用程序翻译而不是任何插件的翻译。
弃用
除了新功能外,还弃用了一些功能,这些功能将在 CakePHP 3.0.0 中删除。
- Validation::between 已弃用,您应该使用 Validation::lengthBetween 代替。
- Validation::ssn 已弃用,并可能作为独立/插件解决方案提供。
- HtmlHelper::link() 的 $confirmMessage 参数已弃用。您应该在 $options 中使用键 confirm 来指定消息。
- FormHelper::postLink() 的 $confirmMessage 参数已弃用。您应该在 $options 中使用键 confirm 来指定消息。
2.x 的未来
随着 2.6.0 的发布,2.7.0 的开发分支已经创建。该分支将在 5-6 个月内发布,并将是另一个与 2.x API 兼容的版本。虽然核心团队没有计划在 2.7 中进行任何重大改进,但会有一些努力将 3.0 中的有用功能移植回来,以帮助您更轻松地迁移。
感谢所有参与者,无论他们是通过提交、工单、文档编辑还是其他方式为框架做出贡献。如果没有您,CakePHP 将不可能实现。