当一个类可以有多个定义时,如何在symfony 4中声明服务

时间:2018-05-14 14:20:22

标签: php symfony autowired

所以基本上,如果你想升级到symfony 4,你就不能再声明服务:

services:
    some.service:
        class: AppBundle\SomeService
        ...

您必须将其更改为:

services:
    AppBundle\SomeService:
        ...

但是当你对同一个班级有多个定义时会发生什么?例如:

services:
    some.service1:
        class: AppBundle\SomeService
        ...
    some.service2:
        class: AppBundle\SomeService
        ...
    some.service3:
        class: AppBundle\SomeService
        ...

它们都使用名为SomeService的同一个类,但它们具有不同的配置,因此根据您的需要,您可以调用some.service1,some.service2或some.service3。现在,如何更改service.yml文件以尊重symfony 4标准?因为如果你做了类似的事情:

services:
    AppBundle\SomeService:
        ...
    AppBundle\SomeService:
        ...
    AppBundle\SomeService:
        ...

它只会覆盖您之前的声明,只保留最后一个声明。

任何解决方案?

0 个答案:

没有答案