0
我該如何獲得路由名稱在Laravel 5.4
供應商軟件包的middleware
?在Laravel Package中間件中獲取路由
這就是我的軟件包和中間件的結構。
vendor
-Student
--Pickachoo
--src
---PickachooServiceProvider.php
---Controller
---Middleware
----StudentMiddleware.php
---Routes
---Views
這是我正在嘗試在中間件訪問路線名稱:
public function handle($request, Closure $next)
{
dd($request->route()->getName());
return $next($request);
}
這$request->route()->getName()
應該返回路線名字吧?但它返回null。
我試着用3種方式添加中間件,但沒有任何工作,每次都返回null
。
我加入我的中間件StudentMiddleware
在PickachooServiceProvider
如下:
public function boot(\Illuminate\Routing\Router $router)
{
/*Register middleware*/
$router->aliasMiddleware('authenticate', 'Student\Pickachoo\Middleware\StudentMiddleware');
}
相反,我試圖在app/http/kernel.php
陣列$middleware
和$routeMiddleware
加入中間件分開沒有任何成功。
路線:
Route::middleware(['web'])->group(function(){
Route::get('/test', function() {
echo 'Something';
})->middleware('authenticate');
});
那沒有工作。但爲什麼 ? – StudentX
它向你展示了你現在訪問的請求。轉儲包含大量信息的路由對象 –