2017-03-05 7 views
0

SLIM 3 PHPでグループルートから[PHP - SLIM 3 Framework]をルートパラメータを取得しますここで私が使用しています私は</p> <p>をやっているものだ、私はミドルウェアでグループルートパラメータを取得し、問題が生じています

route.php

$app->group('/{lang}', function() use ($container){ 
    //routes ... (ignore the other routes) 
})->add(new Middleware($container)); 

Middleware.php

//middleware.php 
class Middleware { 
    public function __invoke($req, $res, $next) 
    { 
     //here is the part which is confusing about how can i get 
     // {lang} parameter 
     $req->getAttribute('route') 
    } 
} 

答えて

1

あなたは -method

public function __invoke($req, $res, $next) 
{ 
    $route = $req->getAttribute('route'); 
    $args = $route->getArguments(); 
    $lang = $args['lang']; 

    return $res; 
} 

ノートでこれを行うことができます:あなたはまた、trueにdetermineRouteBeforeAppMiddlewareを設定するスリムを設定する必要があります。それ以外の場合、引数はミドルウェアに設定されません。

$container = [ 
    'settings' => [ 
     'determineRouteBeforeAppMiddleware' => true 
    ] 
] 
$app = new \Slim\App($container);