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)
(adsbygoogle = window.adsbygoogle || []).push({});