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将显示别名,但不会显示第一个答案。你可能会遇到一些问题。很好地解释了不同之处