@@ -34,13 +34,15 @@ class FormPass implements CompilerPassInterface
34
34
private $ formTypeTag ;
35
35
private $ formTypeExtensionTag ;
36
36
private $ formTypeGuesserTag ;
37
+ private $ formDebugCommandId ;
37
38
38
- public function __construct ($ formExtensionService = 'form.extension ' , $ formTypeTag = 'form.type ' , $ formTypeExtensionTag = 'form.type_extension ' , $ formTypeGuesserTag = 'form.type_guesser ' )
39
+ public function __construct ($ formExtensionService = 'form.extension ' , $ formTypeTag = 'form.type ' , $ formTypeExtensionTag = 'form.type_extension ' , $ formTypeGuesserTag = 'form.type_guesser ' , $ formDebugCommandId = ' form.command.debug ' )
39
40
{
40
41
$ this ->formExtensionService = $ formExtensionService ;
41
42
$ this ->formTypeTag = $ formTypeTag ;
42
43
$ this ->formTypeExtensionTag = $ formTypeExtensionTag ;
43
44
$ this ->formTypeGuesserTag = $ formTypeGuesserTag ;
45
+ $ this ->formDebugCommandId = $ formDebugCommandId ;
44
46
}
45
47
46
48
public function process (ContainerBuilder $ container )
@@ -70,13 +72,13 @@ private function processFormTypes(ContainerBuilder $container, Definition $defin
70
72
$ servicesMap [$ serviceDefinition ->getClass ()] = new Reference ($ serviceId );
71
73
}
72
74
73
- if ($ container ->hasDefinition (' form.command.debug ' )) {
75
+ if ($ container ->hasDefinition ($ this -> formDebugCommandId )) {
74
76
// Builds an array of namespaces from registered form types
75
77
$ namespaces = array_map (function ($ class ) {
76
78
return substr ($ class , 0 , strrpos ($ class , '\\' ));
77
79
}, array_keys ($ servicesMap ));
78
- $ commandDefinition = $ container ->getDefinition (' form.command.debug ' );
79
- $ commandDefinition ->setArgument (1 , $ namespaces );
80
+ $ commandDefinition = $ container ->getDefinition ($ this -> formDebugCommandId );
81
+ $ commandDefinition ->setArgument (1 , array_unique ( $ namespaces) );
80
82
}
81
83
82
84
return ServiceLocatorTagPass::register ($ container , $ servicesMap );