在 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})
*/
我有一个用注释定义的路由,如下所示:
/**
* @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})
*/