在 Symfony 路由中使用 class 常量

Using class constants in Symfony routing

我有一个用注释定义的路由,如下所示:

/**
 * @Route("/doSomething/{param}", name="route_name", defaults={"param"=1})
*/

是否可以使用 class 常量来代替这个硬编码的“1”,例如:

/**
 * @Route("/doSomething/{param}", name="route_name", defaults={"param"=MyBundle:MyEntity:DEFAULT_TYPE})
*/

(当然上面不行)

是的,您可以在注释中使用常量,只需使用 class:

的 FQN
/**
 * @Route("/doSomething/{param}", name="route_name", defaults={"param"=Namespace\MyBundle\MyEntity::DEFAULT_TYPE})
*/

如果您在同一个命名空间中,或者您导入了 class 持有常量,您可以缩短它:

use Namespace\MyBundle\MyEntity;

/**
 * @Route("/doSomething/{param}", name="route_name", defaults={"param"=MyEntity::DEFAULT_TYPE})
*/