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 将不可能实现。