我是Symfony 2项目,为我继承自TenantableEntityInterface
的类定义自己的param converter。框架本身提供默认值DoctrineConverter
,而我自己的转换器非常相似,但应该是唯一要执行的(也是出于性能原因)。
如何使用param转换器指定优先级?
/**
* @Service("request.doctrine_tenantable_entity_converter")
* @Tag("request.param_converter")
*/
class DoctrineTenantableEntityConverter implements ParamConverterInterface
{
}
我试图将优先级传递给转换器,但它不起作用:
/**
* @Route("/show/{id}")
* @Method("GET")
* @ParamConverter("message", class="MyBundle:Message", priority=10)
* @Template
*/
public function showAction(Message $message)
{
}
答案 0 :(得分:2)
好的,发现它在一个不起眼的页面上。应在服务定义级别指定优先级(-10到10)(我正在使用JMSDiExtraBundle)。
更高优先级表示您自己的转换器在DoctrineConverter
之前执行:
/**
* @Service("request.doctrine_tenantable_entity_converter")
* @Tag("request.param_converter", attributes = {"priority" = "10"})
*/
class DoctrineTenantableEntityConverter implements ParamConverterInterface {}