Laravel 9.15版本发布

2023-06-01 00:00:00 laravel 版本 发布

Laravel 团队发布了 9.15,它能够仅列出供应商路由、检查文件系统文件夹是否为空/非空、isJson() 字符串助手等等:


仅在 route:list 命令中列出的供应商

Ash Allen 为 route:list 命令贡献了一个 --only-vendor 标志。 

只有供应商路由会出现在终端中,并且该命令将忽略您的应用程序路由。

laravel-9-15-001.png

此标志有助于审核您可能不知道的软件包可能已安装的路由,或者如果您对软件包注册的路由感到好奇。


HTTP 客户端 "throw unless" method

Mahmoud Mohamed Ramadan 为 Laravel HTTP 客户端贡献了一个 throwUnless() 函数。 

如果发生服务器或客户端错误并且给定条件为 false,则此方法将引发异常:

$response = Http::post(/* ... */);
$response->throwUnless($condition);


字符串 isJson() 方法

Daniel Eckermann 为 Str 和 Stringable 类贡献了一个 isJson() 方法

来确定字符串是否是有效的 json:

Str::isJson($data);
//=> boolean
 
Str::of($data)->isJson()
//=> boolean
 
str($data)->isJson();
//=> boolean


检查文件系统目录是否为空

@DarkGhostHunter 提供了两种方法来确定文件系统目录是否为空:

use Illuminate\Support\Facades\File;
 
if (File::isDirectoryEmpty('john/photos')) {
    return 'You do not have any photos';
}
 
if (File::isDirectoryNotEmpty('john/videos', true)) {
    return 'You may have one or more videos, even hidden ones.';
}



显示路线列表计数

Ash Allen 为 route:list CLI 输出的开头和结尾贡献了一个可视化的路由计数:

laravel-9-15-002.png


支持插槽名称快捷方式的 kebab case

Waghabond 为插槽名称贡献了 kebab-case:

<!-- /resources/views/components/my-layout.blade.php -->
<html>
    <body>
        {{ $mySlot }}
    </body>
</html>
 
<!-- /resources/views/components/child.blade.php -->
<x-my-layout>
    {{-- kebab-case slot name --}}
    <x-slot:my-slot>
        <div>My super cool content</div>
    </x-slot:my-slot>
</x-my-layout>


发行说明

您可以在下面查看新功能和更新的完整列表以及 GitHub 上 9.14.0 和 9.15.0 之间的差异。 

以下发行说明直接来自变更日志:

https://github.com/laravel/framework/compare/v9.14.0...v9.15.0
https://github.com/laravel/framework/blob/6fb604f43a5f2dbce928c704532fde291f313416/CHANGELOG.md#v9150---2022-05-31


v9.15.0

添加

为 route:list 命令添加了 --only-vendor 选项 (#42549)
添加了 Illuminate/Http/Client/PendingRequest::throwUnless() (#42556)
添加了 Illuminate/Support/Str::isJson() (#42545)
添加了 Illuminate/Filesystem/Filesystem::isEmptyDirectory() (#42559)
添加了向 route:list 命令添加计数 (#42551)
支持插槽名称快捷方式的 kebab case (#42574)

还原

还原验证中的数字更改 (c113768, #42562)

固定

修复从授权中间件中的路由参数获取 '0' (#42582)

改变

在验证带有点的数组键期间保留原始属性值以获取正确的失败消息 (#42395)
允许可启动的测试特征拆解 (#42521)
将抛出的异常传递给重试助手中的 $sleepMilliseconds 闭包 (#42532)
使 HasTimestamps::updateTimestamps 可链接 (#42533)
移除 Illuminate/View/Concerns/ManagesEvents 中无意义的参数 (#42546)
解析绑定字段时将整数参数映射到参数名称 (#42571)
仅当 args 数字恰好为 1 时,Conditionable 才应返回 HigherOrderWhenProxy (#42555)

相关文章