Laravel 6.2 中添加了可调用容器对象的方法
Laravel小组上周发布了v6.2.0,其中包含针对已登录用户的新的密码确认流程以及可调用的容器对象。现在,让我们去了解一些尚未发布的一些其他新功能,在发行说明中表示已经可以使用:
首先,Container::call现在支持可调用对象。下面是pull请求的测试,它演示了它的工作原理:
classContainerCallCallableStub { publicfunction__invoke(ContainerCallConcreteStub$stub,$default='jeffrey') { returnfunc_get_args(); } } $container=newContainer; $callable=newContainerCallCallableStub; $result=$container->call($callable); $this->assertInstanceOf(ContainerCallConcreteStub::class,$result[0]); $this->assertSame('jeffrey',$result[1]);
接下来,框架身份验证中间件添加了一个unauthenticated的方法。每个Laravel项目都有一个扩展框架中间件的Authenticate中间件类,使您能够覆盖unauthenticated行为:
接下来,
classAuthenticateextendsMiddleware { /** *获取用户未通过身份验证时应重定向到的路径。 * *@param\Illuminate\Http\Request$request *@returnstring */ protectedfunctionredirectTo($request) { if(!$request->expectsJson()){ returnroute('login'); } } protectedfunctionunauthenticated($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.0and6.2.0之间的全部区别。当然你也可以在GitHubv6changelog上查看Laravel6.0的完整发行说明:
v6.2.0
新增
- 在Container::call()中添加了对可调用对象的支持`(#30156)
- 为postgreSQL添加multipolygonz类型(#30173)
- 在auth中间件中添加"unauthenticated"方法(#30177)
- 添加partialMock速记(#30202)
- 允许Storage::put接受PSR流接口(#30179)
- 实现新的密码规则和密码确认(#30214)
更新
- 删除了传递给updatePackageArray方法的不必要参数(#30155)
- DatabaseUserProvider添加了可选的连接名称(#30154)
- 删除了phpartisanserveURL周围的括号(#30168)
- 将限制应用从集合移到了数据库(#30148)
- 允许在嵌套查询中使用作用域(#30127)
- 添加数组到sqlite的json转换(#30133)
- 使用policies()方法代替属性策略(#30189)
- 拆分hasValidSignature方法(#30208)
既定
validateDimensions()处理image/svg (#30204)
总结
以上所述是小编给大家介绍的Laravel6.2中添加了可调用容器对象,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!