CakePHP 3.4.0-beta1 发布
CakePHP 核心团队很高兴宣布立即提供 CakePHP 3.4.0-beta1。这是 3.4.0 的第一个 beta 版本,它包含几个新的主要功能。
更新到 beta 版本
您可以使用 composer 升级到 CakePHP 3.4.0 的 beta 版本
php composer.phar require "cakephp/cakephp:3.4.0-beta1"
如果您能暂时升级您的应用程序并运行测试,我们将不胜感激。通过为 beta 版本中的任何回归打开问题,我们可以帮助确保在稳定版本发布之前更平稳地发布 3.4.0。
3.4.0 中的显著变化
Cake\Network\Response 已更新以实现所需的 PSR-7 接口,并弃用了一些与接口方法重叠的方法。它还添加了所有辅助方法的不变版本,这些方法在过去由 Response 提供。由于核心响应对象现在实现了 PSR-7 接口,Cake\Http\ResponseTransformer 已被弃用,不再使用。
Cake\Http\ServerRequest 的剩余公共属性已弃用。现在应该通过方法访问请求上的所有公共属性
$base = $this->request->base;
// Should now be
$base = $this->request->getAttribute('base');
为了提供更简单的接口,这些接口更可预测、具有更简单的返回类型,并且更便于 IDE 自动完成功能,一些类已将其组合的 get/set 方法弃用。组合方法已被 getX、setX 风格的方法替换。到目前为止,在 3.4.0 中已更新的类是
- CakeConsoleConsoleOptionParser
- CakeDatabaseConnection
- CakeDatabaseDriver
- CakeDatabaseExpressionFunctionExpression
- CakeDatabaseExpressionQueryExpression
- CakeDatabaseExpressionValuesExpression
- CakeDatabaseQuery
- CakeDatabaseSchemaCachedCollection
- CakeDatabaseSchemaTableSchema
- CakeDatabaseTypeMap
- CakeORMEagerLoadable
- CakeORMQuery
- CakeORMTable
- CakeValidationValidator
- CakeViewStringTemplateTrait
- CakeViewViewBuilder
此外,每个关联类现在都提供了一个流畅的接口,用于定义各种关联选项。这些方法改善了 IDE 自动完成功能,并使错误更容易找到
$this->belongsTo('Comments', [
'foreignKey' => 'article_id',
'finder' => 'active',
'startegy' => 'subquery' // Contains a typo that can be hard to spot
]);
// Now becomes
$this->belongsTo('Comments')
->setForiegnKey('article_id')
->setFinder('active')
->setStrategy('subquery');
可以在 3.4.0 迁移指南 中找到 3.4.0 中所有更改的完整列表
3.4.0-beta1 的贡献者
感谢所有帮助完成此版本的贡献者
- ADmad
- Andrej Griniuk
- André Teixeira
- Florian Krämer
- Jonas Hartmann
- Joris Vaesen
- José Lorenzo Rodríguez
- Juan Basso
- Marc Würth
- Mark Scherer
- Mark Story
- Mathew Foscarini
- Ondrej Mirtes
- antograssiot
- chinpei215
- glafarge
- inoas
- jirka
- ndm2
- offline
与往常一样,我们要感谢所有打开问题、创建拉取请求或更新文档的贡献者。