Laravel 9.15 Released

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

只列出 vendors 路由的 route:list 命令

Ash Allenroute:list 命令贡献了一个 --only-vendor 参数。 只有 vendor 路由会出现在终端中,并且该命令将忽略您的应用程序路由。

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

HTTP 客户端「throw unless」方法

Mahmoud Mohamed Ramadan 为 Laravel HTTP 客户端贡献了一个 throwUnless() 函数。 如果发生服务器或客户端错误并且给定条件为 false,此方法将引发异常:

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

Str::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 '该目录没有任何相片';
}

if (File::isDirectoryNotEmpty('john/videos', true)) {
    return '您可能有一个或多个视频,甚至是隐藏的视频。';
}

统计路由列表

Ash Allenroute:list CLI 输出的开头和结尾贡献了一个可视的路由统计:

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

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

<!-- /resources/views/components/my-layout.blade.php -->
<html lang="en">
    <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>

发行说明

您可以在下方查看新功能和更新的完整列表以及 9.14.0 和 9.15.0 之间的差异在 GitHub。以下发行说明直接来自 changelog:

v9.15.0

新增内容

  • 添加 –only-vendor 选项到 route:list 命令 (#42549)
  • 添加 Illuminate/Http/Client/PendingRequest::throwUnless() (#42556)
  • 添加 Illuminate/Support/Str::isJson() (#42545)
  • 添加 Illuminate/Filesystem/Filesystem::isEmptyDirectory() (#42559)
  • 添加 Add counts to route:list command (#42551)
  • 支持插槽名称快捷方式的案例 (#42574)

回滚项

修复项

  • 修复从授权中间件中的路由参数获取「0」的问题 (#42582)

变更项

  • 在验证带有点的数组键时保留原始属性值,以获取正确的失败消息 (#42395)
  • 允许可引导的测试特征进行拆卸 (#42521)
  • 将抛出的异常传递给重试助手中的 $sleepMilliseconds 闭包 (#42532)
  • 使 HasTimestamps::updateTimestamps 可链接 (#42533)
  • 删除无意义的参数 in Illuminate/View/Concerns/ManagesEvents (#42546)
  • 解析绑定字段时将整数参数映射到参数名称 (#42571)
  • 仅当 args 值恰好为 1 时,Conditionable 才应返回 HigherOrderWhenProxy (#42555)
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

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

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

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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