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
新增
- 在 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 中添加了可调用容器对象,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
您可能感兴趣的文章:- 详解如何实现Laravel的服务容器的方法示例
- Laravel学习教程之IOC容器的介绍与用例
- Laravel 5.4向IoC容器中添加自定义类的方法示例
- laravel容器延迟加载以及auth扩展详解
- 在laravel中实现将查询的对象转换为多维数组的函数
- 阿里对象存储OSS在laravel框架中的使用方法
- Laravel 5.5 的自定义验证对象/类示例代码详解
- 详解PHP的Laravel框架中Eloquent对象关系映射使用