モデルをビューから分離するために、コントローラにURLを生成することができます。しかしそれは最初の一歩です。モデル、ビュー、およびルーティングを分離することが最善の方法です。最善の方法は、パスを生成するビューヘルパーを使うことです。プロジェクトのフレームワーク(symfonyへの放棄)を変更しました。プロジェクトでテンプレート(SmartyやTwigなど)を使用したときは簡単です
Symfony Twigの拡張機能を使って、パスの生成とコントローラを分ける例があります。
例として、Twigはパスメソッドを使用します。 This view helperは、経路パラメタからURLパスを検索しています。コントローラーやモデルとは関係がありません。
パス:指定された ルートの相対URL(スキームとホストなし)を返します。 relativeを有効にすると、 の現在のパスに関連するパスが作成されます。
あなたが見ることができるように、ルート名に注意する必要があります。
/**YourController**/
/**
* @Route("/foo", name="new-game", methods="get")
*
* @return Response
*/
public function myFooAction()
{
//Your code
//The rendering without information about his own or other path
return $this->render('default/foo.html.twig', []);
}
そして小枝で対応するパス:あなたが好きなあなたのバックエンドからビューを分離することができ
<hr>
<a href="{{ path('foo') }}" title="Alt">Some text</a>
<br>
この質問に対する回答はありません。論理とビューの制限を決めるのはあなた次第です。 –
悪臭はありますか? reactjs-developersに伝えてください;) – Timurib
私は同意します。 urlは、ビューではなくコントローラで生成される必要があります。このビューは、ロジック用ではない出力用です。関心事の分離。 –