🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 获取当前路由 If you ever need to get access to the current route within your application, you will need to instantiate the`RouteContext`object using the incoming`ServerRequestInterface`. From there you can get the route via`$routeContext->getRoute()`and access the route’s name by using`getName()`or get the methods supported by this route via`getMethods()`, etc. Note: If you need to access the`RouteContext`object during the middleware cycle before reaching the route handler you will need to add the`RoutingMiddleware`as the outermost middleware before the error handling middleware (See example below). Example: ~~~ <?php use Slim\Factory\AppFactory; use Slim\Routing\RouteContext; require __DIR__ . '/../vendor/autoload.php'; $app = AppFactory::create(); //通过这个中间件,您可以访问路由和来自解析路由的路由结果 // Via this middleware you could access the route and routing results from the resolved route $app->add(function (Request $request, RequestHandler $handler) { $routeContext = RouteContext::fromRequest($request); $route = $routeContext->getRoute(); //返回没有找到路由 // return NotFound for non existent route if (empty($route)) { throw new NotFoundException($request, $response); } $name = $route->getName(); $groups = $route->getGroups(); $methods = $route->getMethods(); $arguments = $route->getArguments(); // ... do something with the data ... return $handler->handle($request); }); //路由中间件应该在我们的CORS中间件之后添加,所以先执行路由 // The RoutingMiddleware should be added after our CORS middleware so routing is performed first $app->addRoutingMiddleware(); // ... $app->run(); ~~~