一部のベンダーのサービスを無効にしてカスタム クラスを設定するために、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
?