在Symfony,我们可以:
/**
* @Route(
* "/articles/{_locale}/{year}/{slug}.{_format}",
* defaults={"_format": "html"},
* requirements={
* "_locale": "en|fr",
* "_format": "html|rss",
* "year": "\d+"
* }
* )
*/
public function show($_locale, $year, $slug)
{
}
和
article_show:
path: /articles/{_locale}/{year}/{slug}.{_format}
controller: App\Controller\ArticleController::show
defaults:
_format: html
requirements:
_locale: en|fr
_format: html|rss
year: \d+
我的问题主要是关于语言。
我可以将来自parameters.yml或PHP的en | fr(例如我在数据库中定义的语言)传递给注释和yaml吗?
现在这是代码的重复,此外如果客户端向数据库添加新语言,那么我必须手动编辑所有路由声明。
答案 0 :(得分:0)
您可以从parameters.yml
或config.yml
传递parmaters,请参阅doc
# app/config/routing.yml
contact:
path: /{_locale}/contact
defaults: { _controller: AppBundle:Main:contact }
requirements:
_locale: '%app.locales%'
# app/config/config.yml
parameters:
app.locales: en|es