Forms symfony2通行证服务,形成主题化

Forms symfony2通行证服务,形成主题化,forms,symfony,service,themes,Forms,Symfony,Service,Themes,晚上好 我只需要从一个表单主题访问一个服务,比如myService.myFunction(param1,param2),其中myService是保存服务本身的变量。我需要访问的参数是block('form_label'),它为我提供了forhtml属性 我试图使用$Request->attributes->set()方法,通过请求访问myService。这是有效的,但不是100%,因为我需要myService中的entityManager,它被设置为null。所以我想这不是正确的方法 我想尝试使

晚上好

我只需要从一个表单主题访问一个服务,比如
myService.myFunction(param1,param2)
,其中myService是保存服务本身的变量。我需要访问的参数是
block('form_label')
,它为我提供了forhtml属性

我试图使用
$Request->attributes->set()
方法,通过
请求
访问myService。这是有效的,但不是100%,因为我需要myService中的entityManager,它被设置为null。所以我想这不是正确的方法

我想尝试使用formExtensions,但我需要对许多FormType(大约10个)使用它,而扩展只能使用一个FormType


是否有更好的解决方案(使用实体管理器)从我的模板访问服务?

只需通过控制器操作传递即可:

$service = $this->get('MY_SERVICE');

...

return $this->render(..., ['service' => $service]);
或使用TwigExtension(不带控制器):

并在如下模板中全局使用它:

{{ my_service().myDesiredMethod() }}

是的,我知道是用树枝延长的。无论如何,谢谢!
{{ my_service().myDesiredMethod() }}