在Symfony路由中使用类常量

时间:2015-01-16 11:47:02

标签: php symfony routing

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

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

是否可以使用类常量而不是这个硬编码的' 1',如:

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

(当然上面的失败)

1 个答案:

答案 0 :(得分:17)

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

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

如果您在同一名称空间中,或者导入包含常量的类,则可以缩短它:

use Namespace\MyBundle\MyEntity;

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