如何获得综合服务?

时间:2018-09-02 14:35:21

标签: symfony-3.3

我是symfony的新手,如何获得综合服务?我尝试使用下面的代码,看来该服务不存在:

Symfony3。

service.yml

app_coder:
  my_provider:
    acme:
      factory: factory_path
  synthetic : true
  public: true

控制器

$this->container->get('app_coder.my_provider.acme')

对不起,英语不好。

1 个答案:

答案 0 :(得分:0)

如果您使用综合服务,则应首先按照docs中的说明将服务实例设置到容器中。 为了使事情更加灵活,您可以首先检查实例是否已经存在,然后设置实例是否存在。因此,这样的事情可能会对您有所帮助:

if ($container->hasDefinition('app_coder.my_provider')) {
    $container->set('app_coder.my_provider', new MyProviderService());
}

设置好之后,您可能会得到它:

$this->container->get('app_coder.my_provider')