Symfony2 ルーティング ルールで使用されるロケールの配列を定義することは可能ですか?サポートされている言語リストを変更した場合に、すべてのルートで何度も繰り返し、各ルートで個別に変更する必要はありませんか?
ですばやく検索して置換するrouting.yml
のは非常に簡単であることはわかっていますが、問題の範囲は簡単に拡張できるため、次のような質問が生じる可能性があります。このロケール配列を外部から提供することは可能ですか (つまり、データベースから読み取ることができますか)。 ?
明確にするために-ここに私が今持っているものの例があります:
page_show:
pattern: /{_locale}/page/{slug}
defaults: { _controller: myCompanymyBundle:Cms:pageShow }
requirements:
_locale: en|pl
slug: "[^,]+"
news_archive:
pattern: /{_locale}/news/archive
defaults: { _controller: myCompanymyBundle:Cms:newsArchive }
requirements:
_locale: en|pl
そして、ここに私が欲しいものの例があります:
page_show:
pattern: /{_locale}/page/{slug}
defaults: { _controller: myCompanymyBundle:Cms:pageShow }
requirements:
_locale: languages
slug: "[^,]+"
news_archive:
pattern: /{_locale}/news/archive
defaults: { _controller: myCompanymyBundle:Cms:newsArchive }
requirements:
_locale: languages
YAMLlanguages
配列であろうと、外部から提供された PHP 配列であろうと、 は配列です。それは本当に重要ではありません。
これは、私が書いているアプリケーションの構成をさらに簡単にするのに非常に役立ちます。できるだけ多くの構成を config.yml ファイルに抽出したいと思います。たとえば、新しい言語をすぐに追加したいと決めた場合、ビジネス ロジックとテンプレート レイヤーで既にサポートしている場合は、言語配列を変更するだけでconfig.yml
完了です。