[英]Getting Route in Laravel Package's Middleware
How do I get Route name in a Laravel 5.4
vendor package's middleware
? 如何在
Laravel 5.4
供应商软件包的middleware
获取路由名称 ?
This is how my package and middleware in question is structured. 这就是我的程序包和中间件的结构。
vendor
-Student
--Pickachoo
--src
---PickachooServiceProvider.php
---Controller
---Middleware
----StudentMiddleware.php
---Routes
---Views
This is how I am trying to access the route name in the middleware: 这就是我尝试访问中间件中的路由名称的方式:
public function handle($request, Closure $next)
{
dd( $request->route()->getName() );
return $next($request);
}
This $request->route()->getName()
is supposed to return the route name, right ? 这个
$request->route()->getName()
应该返回路由名称,对吗? But it is returning null. 但是它返回null。
I tried adding middleware in 3 ways, but nothing worked, it returns null
every time. 我尝试通过3种方式添加中间件,但没有任何效果,每次都返回
null
。
I am adding my middleware StudentMiddleware
in PickachooServiceProvider
as follows : 我加入我的中间件
StudentMiddleware
在PickachooServiceProvider
如下:
public function boot(\Illuminate\Routing\Router $router)
{
/*Register middleware*/
$router->aliasMiddleware('authenticate', 'Student\Pickachoo\Middleware\StudentMiddleware');
}
Instead I tried adding the middleware in app/http/kernel.php
arrays $middleware
and $routeMiddleware
separately without any success. 相反,我尝试将中间件分别添加到
app/http/kernel.php
数组$middleware
和$routeMiddleware
但没有成功。
The route: 路线:
Route::middleware(['web'])->group(function(){
Route::get('/test', function() {
echo 'Something';
})->middleware('authenticate');
});
Check in your middleware 签入您的中间件
public function handle($request, Closure $next)
{
dd(\Request::route()->uri);
return $next($request);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.