是否可以为sonata.media.adapter.filesystem.s3服务使用不同的类?现在我可以看到它是硬编码在gaufrette.php中的:
sonata.media.adapter.filesystem.s3
gaufrette.php
->set('sonata.media.adapter.filesystem.s3', AwsS3::class) ->args(['', '', ''])
是否可以覆盖此行为并设置任何其他适配器类,例如Gaufrette\Adapter\AsyncAwsS3?
Gaufrette\Adapter\AsyncAwsS3
g9icjywg1#
根据Symfonys架构,应该可以覆盖几乎所有内容:https://symfony.com/doc/current/bundles/override.html#services-configuration如果你想修改由bundle创建的服务,你可以使用服务装饰。如果你想做更高级的操作,比如移除由其他bundle创建的服务,你必须在编译器传递中使用服务定义。你的解决方案很可能是后者。这里有一个关于如何做到这一点的现有问题:Symfony: Overriding Symfony service ( compiler pass )
1条答案
按热度按时间g9icjywg1#
根据Symfonys架构,应该可以覆盖几乎所有内容:https://symfony.com/doc/current/bundles/override.html#services-configuration
如果你想修改由bundle创建的服务,你可以使用服务装饰。如果你想做更高级的操作,比如移除由其他bundle创建的服务,你必须在编译器传递中使用服务定义。
你的解决方案很可能是后者。这里有一个关于如何做到这一点的现有问题:Symfony: Overriding Symfony service ( compiler pass )