是否可以定义 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
数组在哪里languages
,可以是 YAML 数组,也可以是外部提供的 PHP 数组;这不是很重要。
这对于进一步简化我正在编写的应用程序的配置非常有帮助。我想将尽可能多的配置提取到 config.yml 文件中。因此,如果我决定,例如,我想快速添加一种新语言并且我已经在业务逻辑和模板层中支持它,我只需要修改语言数组config.yml
,瞧,它就完成了。