CakePHP 2.1.3 & 2.2.0-RC1 发布
CakePHP 核心团队很高兴宣布立即发布 CakePHP 2.1.3 [1] 和 2.2.0-RC1[2]。2.1.3 是 2.1.x 分支的 bug 修复版本,而 2.2.0-RC1 是 2.2.x 的第一个候选版本。
CakePHP 核心团队很高兴宣布立即发布 CakePHP 2.1.3 [1] 和 2.2.0-RC1[2]。2.1.3 是 2.1.x 分支的 bug 修复版本,而 2.2.0-RC1 是 2.2.x 的第一个候选版本。
CakePHP 2.1.3
2.1.3 中有一些 bug 修复,其中最值得注意的变化是
- ControllerTestCase 在模拟请求时不再覆盖 GET/POST。
- Xml::fromArray() 现在可以正确处理乱序的数字键。
- TranslateBehavior 和 Model::saveAll() 现在可以正确保存 hasMany 关联中的翻译。
- Router::queryString() 现在可以正确处理追加到现有查询字符串。
- Model::saveMany()、saveAssociated() 可以正确保存之前在 beforeValidate() 回调中修改的数据。
- View 现在可以正确地重复使用 Controller 事件管理器实例。
- Model::saveAll() 和默认值现在表现得更好。
您可以从 https://pear.cakephp.org 下载打包好的版本,或者从 github[3] 获取 zip 文件。
CakePHP 2.2.0-RC1
自从 CakePHP 2.2.0-beta 发布以来,许多新特性和改进已经合并进来了
CakeTime 类中的时区支持
所有相关函数中的 $userOffset 参数已被 $timezone 参数替换。因此,您现在可以传入一个时区字符串或 DateTimeZone 对象,而不是数字偏移量。为了向后兼容,仍然可以为 $timezone 参数传入数字偏移量。
CakeTime::timeAgoInWords() 添加了精度选项。此选项允许您指定格式化时间的精度。
添加了一些新方法
- CakeTime::toServer()
- CakeTime::timezone()
- CakeTime::listTimezones()
所有方法中的 $dateString 参数现在接受 DateTime 对象。有一个新的配置参数“Config.timezone”可用,您可以将其设置为用户的时区字符串。
动态修改和创建验证规则
添加了一个新对象 ModelValidator 来委托验证模型数据的工作,它应该对应用程序透明,并完全向后兼容。它还公开了一个丰富的 API 来添加、修改和删除验证规则。请查看 https://book.cakephp.com.cn/2.0/en/models/data-validation.html#dynamically-change-validation-rules 中关于此对象的文档。
动态生成配置文件
Configure::dump() 已被添加。它用于将配置数据持久化到持久性存储器中,例如文件。PhpReader 和 IniReader 都与它一起工作。
CakeLog
CakeLog 类现在接受与 RFC 5424 中定义的相同日志级别。在 CakeLog 类中也添加了一些便利方法
- emergency
- alert
- critical
- error
- warning
- notice
- info
- debug
此外,日志引擎还获得了一个 scope 设置,以使它们只记录它们感兴趣的上下文。您*需要*将以下几行添加到您的 Config/bootsrap.php 文件中
// Add logging configuration.
CakeLog::config('debug', array(
'engine' => 'FileLog',
'types' => array('notice', 'info', 'debug'),
'file' => 'debug',
));
CakeLog::config('error', array(
'engine' => 'FileLog',
'types' => array('warning', 'error', 'critical', 'alert', 'emergency'),
'file' => 'error',
));
其他更改
- 添加了 FormHelper::inputDefaults() setter/getter。
- 添加了 Auth 登录使用 contain 的能力。
- 支持日语传统字符集,并在 CakeEmail 中将 Content-Type 行中的字符集改为大写。
- 改进了所有函数的文档块,混合参数现在明确说明了哪些类型被接受。