Php symfony2服务容器链接/克隆服务容器

Php symfony2服务容器链接/克隆服务容器,php,symfony,dependency-injection,Php,Symfony,Dependency Injection,我想将一个服务容器链接到另一个已经存在的服务容器,例如: acme.user.repository: class: '%acme.user.repository.class%' arguments: ['%acme.user.repository.argument%'] factory_service: doctrine.orm.entity_manager factory_method: getRepository 现

我想将一个服务容器链接到另一个已经存在的服务容器,例如:

acme.user.repository:
    class:            '%acme.user.repository.class%'
    arguments:        ['%acme.user.repository.argument%']
    factory_service:  doctrine.orm.entity_manager
    factory_method:   getRepository
现在我想将此服务链接到另一个服务,类似这样:

acme.admin.repository = acme.user.repository

因此,当我调用
$container->get('acme.admin.repository')时,我将得到相同的实例就像我调用
$container->get('acme.user.repository')

我认为您可以通过以下方式链接您的服务:

acme.admin.repository: '@acme.user.repository'

使用别名可避免某些问题:

services:

    acme.admin.repository:
        alias: acme.user.repository

我可以问你为什么要这样做吗?谢谢。我应该指出,虽然这两个答案可能适用于您的特定用例,但存在细微的差异。例如,./console container:debug将显示别名,但不会显示第一个答案。你可能会遇到一些问题。很好地解释了不同之处