文章轉發自專業的Laravel開發者社區,原始連接: https://learnku.com/laravel/t...
Laravel小組上週發佈了v6.2.0 ,其中包含 針對已登陸用戶的新的密碼確認流程以及可調用的容器對象。如今,讓咱們去了解一些還沒有發佈的一些其餘新功能,在發行說明中表示已經可使用:php
首先,Container::call
如今支持可調用對象。下面是pull請求的測試,它演示了它的工做原理:laravel
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
行爲:git
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()
方法:github
// 以前 $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的完整發行說明:sql
Container::call()
中添加了對可調用對象的支持` (#30156)policies()
方法代替屬性策略 (#30189)validateDimensions()
處理 image/svg
(#30204)