Laravel 6.2 中添加了可调用容器对象的方法

吾爱主题 阅读:157 2021-09-10 14:07:00 评论:0

Laravel小组上周发布了v6.2.0 ,其中包含 针对已登录用户的新的密码确认流程以及可调用的容器对象。现在,让我们去了解一些尚未发布的一些其他新功能,在发行说明中表示已经可以使用:

首先,Container::call 现在支持可调用对象。下面是pull请求的测试,它演示了它的工作原理:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 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 行为:

接下来,

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 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() 方法:

?
1 2 3 4 5 6 7 8 9 // 之前 $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

新增

  • 在 Container::call() 中添加了对可调用对象的支持` (#30156)
  • 为 postgreSQL 添加 multipolygonz 类型 (#30173)
  • 在 auth 中间件中添加 "unauthenticated" 方法 (#30177)
  • 添加 partialMock 速记 (#30202)
  • 允许 Storage::put 接受 PSR 流接口 (#30179)
  • 实现新的密码规则和密码确认 (#30214)

更新

  • 删除了传递给updatePackageArray方法的不必要参数 (#30155)
  • DatabaseUserProvider添加了可选的连接名称 (#30154)
  • 删除了 php artisan serve URL周围的括号 (#30168)
  • 将限制应用从集合移到了数据库 (#30148)
  • 允许在嵌套查询中使用作用域 (#30127)
  • 添加数组到sqlite的json转换 (#30133)
  • 使用policies()方法代替属性策略 (#30189)
  • 拆分hasValidSignature方法 (#30208)

既定

validateDimensions() 处理 image/svg  (#30204)

总结

以上所述是小编给大家介绍的Laravel 6.2 中添加了可调用容器对象,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

原文链接:https://segmentfault.com/a/1190000020760932

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容