如何在流明框架中获取中间件的当前路线?

Yo_*_*win 7 php permissions middleware laravel lumen

我已经使用 lumen 开发了 API 应用程序。并用于访问权限控制。我想在中间件中获取当前路由。但是,我总是得到空:

   $route = $request->route();
Run Code Online (Sandbox Code Playgroud)

我已经尝试过我可以使用 Lumen 在中间件中获取当前路由信息吗?其中使用了 routeMiddleware 和调度程序。但它仍然返回null。我怎样才能获得中间件的当前路线?

非常感谢..

Pla*_*nox 6

请更新您的流明...一切正常

namespace App\Http\Middleware;

public function handle($request, Closure $next)
{
    $route = $request->route();
    $path = $request->getPathInfo();

    // your code here
    return $next($request);
}
Run Code Online (Sandbox Code Playgroud)

  • 请注意,除非您使用_named_路由,否则“->route()”将为“null”。 (4认同)

小智 0

来自 Laravel 文档:

http://laravel.com/docs/5.1/requests#basic-request-information

path 方法返回请求的 URI。因此,如果传入请求的目标是http://domain.com/foo/bar,则 path 方法将返回 foo/bar:

$uri = $request->path();
Run Code Online (Sandbox Code Playgroud)

您甚至可能会发现其他有用的方法:

if ($request->is('admin/*')) {
    // do something
}
Run Code Online (Sandbox Code Playgroud)