Laravel 9.14 发布
Laravel 团队发布了 9.14 版本,其中包含了迁移表注释、动态垃圾工厂状态、新的数组键助手、可引导/设置测试 traits 等:
MySQL 和 Postgres 的迁移表注释
Andrew Broberg 贡献了为 MySQL 和 Postgres 迁移添加表注释的能力:
Schema::table('posts', function (Blueprint $table) {
$table->comment('This is a comment');
});
此 PR 的作者进一步描述:
这个功能对我们很有用,这样我们的商业智能团队就可以更好地理解我们的数据库架构。我们已经可以在列上添加注释了,在表上添加注释也有助于描述它。
动态 「垃圾」 工厂状态
Jason McCreary 贡献了,为使用软删除的模型提供了「垃圾」工厂的动态支持:
$model = Model::factory()->trashed()->create();
数组 prependKeysWith() 助手
David Heremans 贡献了,一个新的数组键助手,用于快速在关联数组中前置所有键名:
Arr::prependKeysWith(['key' => 'value'], 'prefix.');
// ['prefix.key' => 'value']
测试中的可引导 traits
Pascal Baljet 贡献了,一个从Eloquent 到基础的「可引导」trait TestCase
类 (另请参阅 Pull Request #39883,以了解此功能相关的现有技术)。此功能的工作原理是,在方法前缀为 setUp
和 trait 名称组合的测试用例上使用此 trait (即,带有 setUpFoo()
方法的 Foo
trait):
trait RefreshSomeService
{
public function setUpRefreshSomeService()
{
SomeService::refresh();
}
}
class SomeServiceTest extends TestCase
{
use RefreshDatabase;
use RefreshSomeService;
}
此功能对于在多个测试用例中设置整个测试套件所需的外部服务非常有用。 请参阅 Pull Request #42394 有关实现和可能的用例的更多讨论。
发行说明
你可以在下面看到新功能和更新的完整列表,以及 GitHub 上 9.13.0 和 9.14.0 之间的差异。以下发行说明直接来自 变更日志:
v9.14.0
新增
- 添加了为 MySQL 和 Postgres 添加表注释的能力 (#42401)
- 添加了动态垃圾工厂状态 (#42414)
- 添加了 Illuminate/Collections/Arr::prependKeysWith() (#42448)
- 添加了测试案例引导的 traits (#42394)
修复
- 修复 updateOrCreate 和 firstOrCreate 的克隆问题 (#42434)
- 防止 RateLimiter@tooManyAttempts 中的双重清理秘钥 (#42462)
- 将刷新处理程序添加到流式测试响应的输出缓冲区( 错误修复bugfix) (#42481)
变更
- 在 SES 异常中添加一个简洁的错误消息(#42426)
- 缓存路由时使用重复而不是 createFromBase 克隆请求 (#42420)
- 当路由参数未指定自定义绑定字段但不同的参数时使用模型路由键 (#42425)
- 添加了将 paginate() $perPage 参数作为可调用并访问 $total 的功能 (#42429)
- 提取 ServeCommand 环境列表到静态属性 (#42444)
- 在视图中使用路由参数 (#42461)
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
重庆人民 发来贺电