Laravel 7.8 发布
发布日期 作者 Paul Redmond
Laravel 团队发布了 v7.8.0,其中包含新的 takeWhile
和 takeUntil
集合方法,以及 7.x 分支中的所有最新新功能、修复和更改。让我们看一下 7.8 中发布的一些新功能。
重定向器签名路由
Ryan Chandler 为从 Redirector 服务生成签名路由贡献了快捷方法
// Exampleredirect()->to(URL::signedRoute(...)); // Using `signedRoute` and `temporarySignedRoute`redirect()->signedRoute($route, $parameters, $expiration, $status, $headers); // and redirect()->temporarySignedRoute($route, $expiration, $parameters, $status, $headers);
这些新方法的用例相对来说比较边缘,建议你在使用这些方法之前阅读 Pull Request 中的讨论。
takeUntil 和 takeWhile 集合方法
Joseph Silber 贡献了 takeUntil
和 takeWhile
集合方法,同时还使其支持延迟集合。文档已经更新了有关这两个方法的详细信息。
首先,以下是一些使用 takeUntil
方法的示例(直到是 takeUntil
的别名,本版本中添加了此别名)
$collection = collect([1, 2, 3, 4]); $subset = $collection->takeUntil(function ($item) { return $item >= 3;}); $subset->all();// [1, 2] // Passing a primitive value$subset = $collection->until(3);$subset->all();// [1, 2]
接下来,这是一个 takeWhile
的示例
$collection = collect([1, 2, 3, 4]); $subset = $collection->takeWhile(function ($item) { return $item < 3;}); $subset->all();// [1, 2]
查看 Pull Request #32496 和 #32494 以了解实现细节,以及更新的 集合文档 以获取使用示例。
发行说明
虽然我们没有在本篇文章中介绍所有新功能,但你可以查看下面列出的所有新功能和更新,以及 7.7.0 和 7.8.0 之间的差异。Laravel 7.x 的完整发行说明可在最新的 v7 变更日志 中找到。
v7.8.0
已添加
- 向
Illuminate\Routing\Redirector
添加了signedRoute()
和temporarySignedRoute()
方法 (#32489) - 添加了
takeUntil
和takeWhile
集合方法 (#32494, #32496) - 添加了
Illuminate\Container\ContextualBindingBuilder::giveTagged()
(#32514) - 向
Illuminate\Http\RedirectResponse
添加了withFragment
和withoutFragment
方法 (11d6bef, 0099591, 42c67a1, a1e741a) - 添加了
exclude_without
验证规则 (4083ae5)
已修复
已更改
- 在
Illuminate/Support/Facades/Auth::routes()
中添加了警告,提醒用户 laravel/ui 未安装 (#32482) - 向
Illuminate\Redis\Connections\PhpRedisConnection::flushdb()
中的每个 master 添加了身份验证 (837921b) - 注册 opis 密钥,使其不与延迟服务提供者绑定 (Illuminate/Encryption/EncryptionServiceProvider.php) (62d8a07)
- 将状态码传递给调度完成 (#32516)
- 不区分大小写地检查 route:list -columns 选项 (#32521)
已弃用
- 弃用
Illuminate\Support\Traits\EnumeratesValues::until
(#32517)