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