2

为了覆盖某些供应商的服务并设置我的自定义类,我正在使用 CompilerPass。我还需要覆盖传递给此类的参数。我试过这样:

public function process(ContainerBuilder $container)
{
    $definition = $container->getDefinition('vendor.service');
    $definition->setClass('Acme\DemoBundle\MyClass');

    $definition->setArguments(array(
        'my_service_id'
    ));
}

这里的错误是Acme\DemoBundle\MyClass检索字符串而不是对象。

如何通过自定义服务my_service_id(在其他捆绑包中定义)或在最坏的情况下service.container

4

0 回答 0