我正在开发一个Symfony 3.4项目,并且需要在我的路线上添加一个要求,例如:
/**
* @Route("/{_locale}", defaults={"_locale"="en"}, requirements={
* "_locale"="en|fr"
* })
*/
public function homepageAction($_locale)
{
// ...
}
您会看到"_locale"="en|fr"
,我的问题是我需要从常量类中获取en
和fr
,而不是直接在注释中。
类似"_locale"="MY_FIRST_CONSTANTE|MY_SECOND_CONSTANTE"
我在语法上苦苦挣扎。
谢谢!
答案 0 :(得分:2)
在存储常量的类中:
const EN = 'en'
const FR = 'fr'
const REQUIREMENTS = self::EN.'|'.self::FR;
然后,在您的控制器中
/**
* @Route("/{_locale}", defaults={"_locale"=App\Locales::EN}, requirements={
* "_locale"=App\Locales::REQUIREMENTS
* })
*/
public function homepageAction($_locale)
{
// ...
}