Laravel 9.36 发布

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)
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://laravel-news.com/laravel-9-36-0

译文地址:https://learnku.com/laravel/t/72615

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!