我实现了一个让管理员从表单中配置一些额外行为(实际上是Symfony Services)的系统。此刻我正在使用EntityType,以便让管理员从数据库中的表中选择一个或多个服务。在Symfony ChoiceType中显示带标签的服务
$builder->add('services', EntityType::class, array(
'class' => 'AppBundle:Services',
'multiple' => true,
));
但因为我在注册服务的Symfony本身我只是想,应该有办法从容器(或类似)获得的服务,创造一个新的ServiceTagType所以我不“T不得不增加他们在data base
和services.yml
都和我可以这样做:
$builder->add('services', ServiceTagType::class, array(
'tag' => 'some.service.tag',
'multiple' => true,
));
在这里读,有我发现,你可以标签服务,但你当容器正在编译时,只能得到标记的服务列表 ...我努力寻找解决方法,但它一直没有用。
在你的编译过程,你可以在你的ServiceTagType注入标记的业务和使用ServiceTagType作为服务在你的表格 – bourvill