I have code like in this example. But I want extend this. Now my code looks like this:
app.custom.chain:
class: AppBundle\Type\CustomChain
app.type.main:
class: AppBundle\Form\Type\MainType
autowire: true
tags:
- { name: app.custom.type, alias: main }
In MainType
I have __construct
method with argument:
public function __construct(ObjectManager $om)
{
$this->om = $om;
}
And in AppCustomTypePass
:
public function process(ContainerBuilder $container)
{
if (!$container->has('app.custom.chain')) {
return;
}
$definition = $container->findDefinition('app.custom.chain');
$taggedServices = $container->findTaggedServiceIds('app.custom.type');
foreach ($taggedServices as $id => $tags) {
foreach ($tags as $attributes) {
$definition->addMethodCall(
'addCustomType',
[
new Reference($id),
$attributes['alias'],
]
);
}
}
}
And I'm getting error:
Type error: Too few arguments to function AppBundle\Form\Type\MainType::__construct(), 0 passed
How I can pass arguments in this class in my AppCustomTypePass
class?