Laravel 9.15 Released
Laravel 团队发布了 9.15,它能够仅列出供应商路由、检查文件系统文件夹是否为空/非空、isJson() 字符串助手函数等等:
只列出 vendors 路由的 route:list 命令
Ash Allen 为 route: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 Allen 为route: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 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。