Laravel v7.8 发布
Laravel 团队发布了 v7.8.0 ,包括新的 takeWhile
和 takeUntil
集合函数,以及在 7.x 分支上的所有最新特性、修复及更新。让我们来看一下 7.8 版本中发布的一些新特性吧:
重定向签名路由
由 Ryan Chandler 贡献的生成重定向签名路由的快捷方法:
// 例子
redirect()->to(URL::signedRoute(...));
// 使用 `signedRoute`
redirect()->signedRoute($route, $parameters, $expiration, $status, $headers);
//使用 `temporarySignedRoute`
redirect()->temporarySignedRoute($route, $expiration, $parameters, $status, $headers);
使用案例中的场景是比较基本的用法,在使用之前,建议读者阅读这个 Pull Request 了解详细用法。
takeUntil 和 takeWhile 集合函数
Joseph Silber 贡献了 takeUntil
和 takeWhile
集合函数,且均支持 LazyCollection 功能。文档中已更新了关于这两个方法的详细信息。
首先,看几个使用 takeUntil
函数的示例(该版本中 until 是 takeUntil
的别名):
$collection = collect([1, 2, 3, 4]);
$subset = $collection->takeUntil(function ($item) {
return $item >= 3;
});
$subset->all();
// [1, 2]
// 普通传参方式
$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]
你可以通过以下 PR #32496 和 #32494 来了解实现细节,以及 集合文档 中的用法案例。
发行说明
想要了解更详细的更新以及两者之间的区别,你可以查看一下文档 7.7.0 and 7.8.0 。 想要阅读完整的 Laravel 7.x 发行说明,看这里 v7 changelog:
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)
修复
变动
- 没有安装 laravel/ui 时给
Illuminate/Support/Facades/Auth::routes()
添加警告 (#32482) - 在
Illuminate\Redis\Connections\PhpRedisConnection::flushdb()
上给每个 master 添加认证 (837921b) - 注册 opis 键使其不绑定于延迟服务提供者 (Illuminate/Encryption/EncryptionServiceProvider.php) (62d8a07)
- 给计划完成传递状态码 (#32516)
- 检查 route:list 列大小写不敏感选项 (#32521)
废弃
- 废弃
Illuminate\Support\Traits\EnumeratesValues::until
(#32517)
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
这版本号坐火箭啊!
卡裆了
不知道 opis 如何翻译,望有译者完善翻译。
这版本要起飞嘛这是 这才几天 :flushed: