Laravel 团队近期发布了 9.36,让 blade 组件变得非常快;支持内容响应断言,Mailable 断言等等。
使 Blade 组件渲染性能提升
Nuno Maduro 为提高 blade 组件性能做出了优化。我建议你查看 Pull Request #44487 中的描述,以通过示例获取改进的完整细节。总之,描述包括对增强功能的一些粗略估计:
- 匿名组件 — 速度提高 52%
- 类视图组件 – 速度提高 39%
- 类内联组件 — 速度提高 92%
- 动态组件(呈现匿名组件)—— 速度提高 72%
- 动态组件(呈现内联类组件)—— 速度提高 83%
非常感谢 Nuno 和所有参与使此更新成为可能的人!Laravel YYDS!
Mailable 断言
Andrew Minion 贡献了 Mailable 的断言以提高 Mailable 类的测试难度:
$mailable = (new Mail())->build();
$mailable
->assertHasTo('user@example.com')
->assertHasCc('user@example.com')
->assertHasBcc('user@example.com')
->assertHasReplyTo('user@example.com')
->assertHasReplyTo('user@example.com')
->assertHasFrom('user@example.com')
->assertHasTag('test')
->assertHasMetadata('foo', 'bar');
assertContent () 测试响应
Tim MacDonald 提供了一个 assertContent()
方法,该方法添加了一些语法糖来断言测试响应的内容。该字符串应准确添加测试响应内容:
// 之前...
$this->assertSame('foo bar', $response->content());
// 之后...
$response->assertContent('foo bar');
向控制台警报添加详细级别
Pavel Panzyga 有助于指定警报框的详细程度。 Pull Request 描述 说明了此功能的工作原理:
$this->alert('Alert box only for debug mode', 'vvv');
$this->alert('Normal alert box');
$this->alert('Very important alert box', 'quiet');
发行说明
您可以在下面查看新功能和更新的完整列表以及 GitHub 上 9.35.0 和 9.36.0 之间的差异。 以下发行说明来自变更日志:
v9.36.0
新增
- 添加 mailable assertions (#44563)
- 添加
Illuminate/Testing/TestResponse::assertContent()
(#44580) - 添加到
Illuminate/Console/Concerns/InteractsWithIO::alert()
$verbosity
参数 (#44614)
优化
- 使 blade 视图组件性能快如闪电 (#44487)
修复
- 修复
Illuminate/Filesystem/Filesystem::relativeLink()
(#44519) - 修复了
model:show
失效的模型字段 null timestamp (#44576) - 允许 Model::shouldBeStrict (false) 禁用 “格式模式” (#44627)
更新
- 使用 php artisan db 连接 sqlite 不需要 host (#44585)
- 使 MustVerifyEmail 可用于没有 id 作为主键的模型 (#44613)
- 已更改
Illuminate/Routing/Route::controllerMiddleware()
(#44590)