古いコードベースをSymfony2.2フレームワークに移動します。
私の古いコードでは、ArticleエンティティにgetUrl()メソッドがあり、現在の記事のURLを返していました。
Symfonyでは、ルーターサービスを使用してそのようなURLを生成する必要があります。
エンティティ内からルーターにアクセスできません。これは悪い習慣であり、フレームワークで実際にサポートされていないためです。
Twigヘルパーpath()を使用してTwigテンプレート自体からルーターを呼び出し、URLの構築に必要なすべての引数(Articleインスタンスから)を提供できます。しかし、このアプローチはあまり良くありません。URLフォーマットルールを変更することにした場合、この呼び出しをすべて見つけて書き直す必要があります(DRYではありません)。
私は本当にビジネスロジックのカプセル化をここに保存し、すべての内臓をビューレイヤーに引き込まないようにしたいのです。
この状況でどのように進めればよいですか?