当前位置:首页 > CMS教程 > 其它CMS > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2022-01-15 19:19:21 浏览: 评论:0 

Laravel小组上周发布了v6.2.0 版本,接下来通过本文给大家分享Laravel 6.2 中添加了可调用容器对象的方法,需要的朋友可以参考下。

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

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

  1. class ContainerCallCallableStub 
  2.  public function __invoke(ContainerCallConcreteStub $stub$default = 'jeffrey'
  3.  { 
  4.   return func_get_args(); 
  5.  } 
  6.  
  7. $container = new Container; 
  8. $callable = new ContainerCallCallableStub; 
  9. $result = $container->call($callable); 
  10. $this->assertInstanceOf(ContainerCallConcreteStub::class$result[0]); 
  11. $this->assertSame('jeffrey'$result[1]); 

接下来,框架身份验证中间件添加了一个 unauthenticated 的方法,每个 Laravel 项目都有一个扩展框架中间件的 Authenticate 中间件类,使您能够覆盖unauthenticated 行为:

接下来,

  1. class Authenticate extends Middleware 
  2.  /** 
  3.   * 获取用户未通过身份验证时应重定向到的路径。 
  4.   * 
  5.   * @param \Illuminate\Http\Request $request 
  6.   * @return string 
  7.   */ 
  8.  protected function redirectTo($request
  9.  { 
  10.   if (! $request->expectsJson()) { 
  11.    return route('login'); 
  12.   } 
  13.  } 
  14.  
  15.  protected function unauthenticated($requestarray $guards
  16.  { 
  17.   // 自定义未经验证的逻辑 
  18.  } 

在测试套件中添加了一个新的便捷的 partialMock() 方法:

  1. // 之前 
  2. $this->instance(Abstract::class, Mockery::mock(Abstract::classfunction ($mock) { 
  3.  $mock->shouldReceive('call')->once(); 
  4. })->makePartial()); 
  5.  
  6. // 之后 
  7. $this->partialMock(Abstract::classfunction ($mock) { 
  8.  $mock->shouldReceive('call')->once(); 
  9. }); 

您可以在下面查看新功能和更新的完整列表,以及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)

Tags: Laravel6.2 Laravel容器

分享到: