编程

Laravel 10.35 发布

759 2023-12-12 01:39:00

Laravel 发布了 v10.35,包括 Blade @use 指令,数字缩写助手,artisan down 生成 secrect 的能力。以下是关于本周推出的新功能的更多信息:

添加 Blade @use() 指令

Simon Hamp 贡献了 @use() 指令,用于在不使用原生 PHP 标签的情况下引入 Blade 模板:

{{-- 以前 --}}
@php
use \App\Enums\WidgetStatusEnum as Status;
@endphp
 
{{-- 之后 --}}
@use('App\Enums\WidgetStatusEnum', 'Status')
@use('App\Models\Bar')
 
{{ Status::Foo }}
{{ Bar::first() }}

使用 Number::abbreviate() 数字

@jcsoriano 贡献了 Number::abbreviate() 类,到新添加的 Number 类中,用于提供人类可读的缩写数字:

Number::abbreviate(1_000_000); // "1M"
Number::abbreviate(100_001);   // "100K"
Number::abbreviate(100_100);   // "100K"
Number::abbreviate(99_999);    // "100K"
Number::abbreviate(99_499);    // "99K"

将 --with-secret 选项添加到 artisan down 命令

Jacob Daniel Prunkl 贡献了 --with-secret 选项到 artisan down 命令,这将生成一个可用于绕过维护模式的 secrect 短语,这样用户就不必自己定义:

将条件性 Conditionable trait 添加到 AssertableJson

Khalil Laleh 贡献了将 Conditionable trait 添加到 AssertableJson 类,使之可以居于给定的条件断言:

// Before
$response->assertJson(function (AssertableJson $json) use ($condition) {
    $json->has('data');
 
    if ($condition) {
        $json->has('meta');
    }
 
   $json->etc();
});
 
// After
$response
    ->assertJson(fn (AssertableJson $json) => $json->has('data'))
    ->when($condition, fn (AssertableJson $json) => $json->has('meta'))
    // ...
;

发布说明

你可以在下面看到新功能和更新的完整列表,以及 GitHub 上 10.34.0 和 10.35.0 之间的差异。以下发行说明直接来自更改日志:

v10.35.0