1

コントローラーの外部にあるスラッグ パラメーターにアクセスしようとしています。

次のようなルーティング YML があります。

adgroup:
    pattern:  /adgroup/{id}
    defaults: { _controller: ExampleBundle:AdGroup:index }
    requirements:
        id: \d+

..そして次のような URL:

http://example.com/adgroup/25

コントローラーから取得せずに {id} 変数にアクセスする方法が必要です。コントローラーは完全に機能しています。ただし、どのスラッグが渡されるかに基づいて大きく依存するオブジェクトを構築しようとしています。

これまでのところ、ドキュメントと多くの例を精査しても、どこにも行きませんでした。

私が試したこと: Request::createFromGlobals メソッド全体を var_dump しました。そうは見えません。

また、私は開発環境にいるため、symfony のデバッグ ツールバーには、プロファイラーで Request: id: 25 が明確に表示されます。

問題は...コントローラーの外部からスラッグ/スラッグ値を取得するにはどうすればよいですか?

そこから 1 つずつ渡そうとするコントローラが多すぎるため、URL を爆発させてハッキングするのは悪い考えです。:-)

これらにアクセスするために私が知らない方法があると思いますか?

4

1 に答える 1

8

このコードが役立つと思います

$params = $container->get('request')->attributes->get('_route_params');
$id = $params['id'];
于 2012-11-16T18:59:06.433 に答える