Laravel小组上周发布了v6.2.0 ,其中包含 针对已登录用户的新的密码确认流程以及可调用的容器对象。现在,让我们去了解一些尚未发布的一些其他新功能,在发行说明中表示已经可以使用:
首先,Container::call 现在支持可调用对象。下面是pull请求的测试,它演示了它的工作原理:
class ContainerCallCallableStub { public function __invoke(ContainerCallConcreteStub $stub, $default = 'jeffrey') { return func_get_args(); } } $container = new Container; $callable = new ContainerCallCallableStub; $result = $container->call($callable); $this->assertInstanceOf(ContainerCallConcreteStub::class, $result[0]); $this->assertSame('jeffrey', $result[1]);
接下来,框架身份验证中间件添加了一个 unauthenticated 的方法。每个 Laravel 项目都有一个扩展框架中间件的 Authenticate 中间件类,使您能够覆盖unauthenticated 行为:
接下来,
class Authenticate extends Middleware { /** * 获取用户未通过身份验证时应重定向到的路径。 * * @param \Illuminate\Http\Request $request * @return string */ protected function redirectTo($request) { if (! $request->expectsJson()) { return route('login'); } } protected function unauthenticated($request, array $guards) { // 自定义未经验证的逻辑 } }在测试套件中添加了一个新的便捷的 partialMock() 方法:
// 之前 $this->instance(Abstract::class, Mockery::mock(Abstract::class, function ($mock) { $mock->shouldReceive('call')->once(); })->makePartial()); // 之后 $this->partialMock(Abstract::class, function ($mock) { $mock->shouldReceive('call')->once(); });
您可以在下面查看新功能和更新的完整列表,以及github上6.1.0 and 6.2.0 之间的全部区别。当然你也可以在 GitHub v6 changelog上查看Laravel 6.0的完整发行说明:
v6.2.0
新增
为 postgreSQL 添加 multipolygonz 类型 (#30173)
在 auth 中间件中添加 "unauthenticated" 方法 (#30177)
添加 partialMock 速记 (#30202)
允许 Storage::put 接受 PSR 流接口 (#30179)
实现新的密码规则和密码确认 (#30214)
更新
DatabaseUserProvider添加了可选的连接名称 (#30154)
删除了 php artisan serve URL周围的括号 (#30168)
将限制应用从集合移到了数据库 (#30148)
允许在嵌套查询中使用作用域 (#30127)
添加数组到sqlite的json转换 (#30133)
使用policies()方法代替属性策略 (#30189)
拆分hasValidSignature方法 (#30208)
既定
validateDimensions() 处理 image/svg (#30204)
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/6650/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取