어플리케이션의 현재 라우트에 접근할 필요가 있다면,
'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
손가락귀신
정신 못차리면, 벌 받는다.

,