2016-04-04 8 views
3

私はSilexアプリケーションのURLからパラメータを取得しようとしています。そのはとても任意の代替をしてください動作していない、明らかにSilexのURLからパラメータを取得する方法

/** 
* @param Application $app 
* @return \Symfony\Component\HttpFoundation\JsonResponse 
*/ 
public function actionPoisList(Application $app){ 

    return $app->json($app->escape($app['id'])); 
} 

public function connect(Application $app) 
{ 
    $controllers = $app['controllers_factory']; 

    $controllers->get('/list/pois/{id}', array($this, 'actionPoisList')) 
     ->before(array($this, 'controlerAuthentification')); 

    return $controllers; 
} 

ここで私はこれを行うことにより、このパラメータをキャッチしようとしている:

ここに私のコントローラの私のconnectメソッドです。おかげ

答えて

1

あなたは、パラメータのリストでそれらを指定した場合、URL内のパラメータが自動的にあなたのコントローラールートに渡されます。

/** 
* @param Application $app 
* @return \Symfony\Component\HttpFoundation\JsonResponse 
*/ 
public function actionPoisList(Application $app, $id){ 

    return $app->json($app->escape($id)); 
} 

は、ルートパラメータと関数パラメータが正確に同じ名前を付ける必要がありますことを考慮してください。

+1

そのに解決関数内で変数を渡しています。ありがとう、相棒。 – KubiRoazhon

0

これは、最も一般的にURLスラグと呼ばれ、サイレックス・ドキュメントは、アカウントにhere

をそのを取っている基本的にはあなたは自分のルートが完全に働い

$app->get('/blog/{id}', function (Silex\Application $app, $id) { 
    // access $id here 
})