Symfony服务定位器:设置默认服务

时间:2019-07-03 09:34:17

标签: php symfony symfony-3.4

我想在Symfony 3.4中实现服务定位器(很快更新为Symfony 4)。我想知道是否可以设置默认服务吗?

目前,我必须这样做(并且可以正常工作):

mylocator:
    class: 'Symfony\Component\DependencyInjection\ServiceLocator'
    tags: [ 'container.service_locator' ]
    arguments:
        -
            type1: '@service1'
            type2: '@default_service'
            type3: '@default_service'
            type4: '@default_service'

但是我想做的是:

mylocator:
    class: 'Symfony\Component\DependencyInjection\ServiceLocator'
    tags: [ 'container.service_locator' ]
    arguments:
        -
            type1: '@service1'
            default: '@default_service'

因此,当我执行$locator->get('type4')$locator->get('foo_type')时,我可以拿到@default_service,而不必注册将使用此type的每个新@default_service

您知道是否有办法吗?

谢谢。

0 个答案:

没有答案