来自常量的 Symfony 多路由需求
Symfony multiple route requirements from constants
我正在做一个 Symfony 3.4 项目,我需要在我的路线上添加一个要求,比如:
/**
* @Route("/{_locale}", defaults={"_locale"="en"}, requirements={
* "_locale"="en|fr"
* })
*/
public function homepageAction($_locale)
{
// ...
}
你可以看到 "_locale"="en|fr"
,我的问题是我需要从常量 class 中获取 en
和 fr
而不是直接在注释中。
所以像 "_locale"="MY_FIRST_CONSTANTE|MY_SECOND_CONSTANTE"
我正在为语法苦苦挣扎。
谢谢!
在您的 class 中存储常量的地方:
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)
{
// ...
}
我正在做一个 Symfony 3.4 项目,我需要在我的路线上添加一个要求,比如:
/**
* @Route("/{_locale}", defaults={"_locale"="en"}, requirements={
* "_locale"="en|fr"
* })
*/
public function homepageAction($_locale)
{
// ...
}
你可以看到 "_locale"="en|fr"
,我的问题是我需要从常量 class 中获取 en
和 fr
而不是直接在注释中。
所以像 "_locale"="MY_FIRST_CONSTANTE|MY_SECOND_CONSTANTE"
我正在为语法苦苦挣扎。
谢谢!
在您的 class 中存储常量的地方:
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)
{
// ...
}