어플리케이션의 현재 라우트에 접근할 필요가 있다면,
'route' 매개변수로 요청 클래스의 getAttribute 메소드를 호출하고 Slim\Route 클래스의 인스턴스인 현재 라우트를 반환할 것이다.
그것으로부터 getName() 을 이용하여 라우트의 이름을 얻거나 getMethods() 로 이 라우트에 제공되는 메소드를 얻을 수 있다.
app 의 미들웨어로부터 라우트에 접근하려면 설정에서 determineRouteBeforeAppMiddleware 를 true 로 지정하거나 getAttribute('route') 가 null 을 반환해야 한다.
라우트는 항상 라우트 미들웨어에서 사용 가능하다.
use Slim\Http\Request; use Slim\Http\Response; use Slim\App; $app = new App([ 'settings' => [ // Only set this if you need access to route within middleware 'determineRouteBeforeAppMiddleware' => true ] ]) // routes... $app->add(function (Request $request, Response $response, callable $next) { $route = $request->getAttribute('route'); $name = $route->getName(); $group = $route->getGroup(); $methods = $route->getMethods(); $arguments = $route->getArguments(); // do something with that information return $next($request, $response); }); | cs |
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.
,