Php Symfony2将实例化对象传递给服务,而不是新对象

Php Symfony2将实例化对象传递给服务,而不是新对象,php,symfony,Php,Symfony,我希望将一个已安装的对象传递给我的服务构造函数,而不是创建一个新的对象。要创建一个新的对象,我需要执行以下操作: services: ExampleService: class: Ex\ModelBundle\lib\Ex\ExSave LoginService: class: Snap\ModelBundle\Service\Login arguments: ["@doctrine.orm.entity_manager", "@

我希望将一个已安装的对象传递给我的服务构造函数,而不是创建一个新的对象。要创建一个新的对象,我需要执行以下操作:

services:
    ExampleService:
        class: Ex\ModelBundle\lib\Ex\ExSave

    LoginService:
        class: Snap\ModelBundle\Service\Login
        arguments: ["@doctrine.orm.entity_manager", "@ExampleService"]

如何将已安装的ExampleService传递给LoginService默认情况下,所有服务都具有容器范围,根据文档,这意味着:

每次从该容器请求时都会使用相同的实例

因此,您创建了
ExampleService
,但对该服务的任何其他后续请求都将返回其先前创建的实例

归根结底,多个服务可以(也将)使用您的
ExampleService
的共享实例


或者,您可以使用


基本上,您不会将
@ExampleService
传递给
\uu construct
,而是传递给单独的setter,setter将设置属性值(在服务内)。然后你照常使用你的服务

您是说ExampleService应该引用在容器外部创建的某个对象吗?它的用例是什么?