0

プラグインがあり、クエリ文字列の変数に基づいて別の routing.yml ファイルをロードする必要があります。

例:

if($request->getParameter('page'){
 // use routingPage.yml
}
else{
 // use another routing.yml
}

したがって、url_for('@route1') のページ パラメータが 1 つの URL を返す場合は、同じ url_for('@route1') が別の URL を返します。

rouing.yml の読み込みメカニズムをオーバーライドして、やりたいことを実行するにはどうすればよいですか?

4

1 に答える 1

0

すべてのアプリケーションは1つ しか持つことができませんrouting.yml(もちろん、他のプラグインによってオーバーライドできます)。

この理由は非常に単純です。複数のルーティングファイル(たとえばrouting1.ymlrouting2.yml)を使用する場合、両方にと呼ばれるルートがあり、それぞれroute1にリダイレクトされます。たぶん、あなたはそれをビューで切り替えて、一方のケースともう一方のケースに行くことができるでしょう。しかし、その後:新しいリクエストが到着し、フロントコントローラーが実行するコントローラー/アクションを決定しているとき:どのコントローラー/アクションを使用するのか?controller1/actioncontroller2/actioncontroller1/actioncontroller2/actionrouting.yml

ですから、あなたが何を達成しようとしているのか正確にはわかりませんが、あなたの中で2つのルートをrouting.yml選び、ビューパラメータに基づいてルートを選択します。

于 2011-10-07T07:30:39.350 に答える