Laravel 7.8发布
Laravel团队发布了带有新 方法takeWhile 和 takeUntil收集方法的v7.8.0 ,以及7.x分支中的所有最新功能,修复和更改。让我们看一下7.8中发布的一些新功能:
重定向器签名的路由
瑞安·钱德勒(RyanChandler)为从重定向器服务生成签名的路由提供了快捷方式:
//例子 redirect()->to(URL::signedRoute(...)); //使用`signedRoute`和`temporarySignedRoute` redirect()->signedRoute($route, $parameters, $expiration, $status, $headers); //和 redirect()->temporarySignedRoute($route, $expiration, $parameters, $status, $headers);
这些新方法的用例相对来说是边缘情况,我建议在接触这些方法之前先阅读“拉取请求”中的讨论。
takeUntil和takeWhile收集方法
约瑟夫·席尔伯(JosephSilber)贡献了 takeUntil 和 takeWhile收集方法,也使它们支持惰性收集。该文档已更新了有关这两种方法的详细信息。
首先,这里是使用该takeUntil 方法的一些示例 (直到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]
请查看拉取请求#32496和#32494了解实现细节,以及更新的收集文档以获取用法示例。
发行说明
虽然我们没有看完这篇文章中的所有新功能,但是您可以在下面看到新功能和更新的完整列表,以及GitHub上7.7.0和7.8.0之间的区别。最新的v7更新日志中提供了Laravel7.x的完整发行说明:
v7.8.0
添加
已添加 signedRoute() 和 temporarySignedRoute()方法到 Illuminate\Routing\Redirector (#32489)
添加 takeUntil 和 takeWhile 收集方法(#32494,#32496)
新增 (#32514)Illuminate\Container\ContextualBindingBuilder::giveTagged()
添加的方法 withFragment ,并 withoutFragment 以 Illuminate\Http\RedirectResponse (11d6bef,0099591,42c67a1,a1e741a)
添加了 exclude_without 验证规则(4083ae5)
固定的
修复了没有名称空间的已编译路由操作(#32512)
设置选择时重置选择绑定(#32531)
已变更
添加了 未安装laravel/ui时的警告 (#32482)Illuminate/Support/Facades/Auth::routes()
在(837921b)上向每个主机添加了身份验证 Illuminate\Redis\Connections\PhpRedisConnection::flushdb()
注册opis密钥,以便它不与延迟的服务提供者绑定(Illuminate/Encryption/EncryptionServiceProvider.php)(62d8a07)
将状态代码传递给计划完成(#32516)
不敏感地检查route:list–columns选项是否区分大小写(#32521)
不推荐使用
弃用 Illuminate\Support\Traits\EnumeratesValues::until(#32517)