繁体   English   中英

设置Symfony2依赖注入服务的参数

[英]Setting parameters for a Symfony2 Dependency Injection service

似乎是一个非常基本的问题,但我找不到答案(可能是我想的方向错误):

我的服务在YML文件中定义。

PurchaseService:
class: Application_Service_Doctrine_PurchaseService  
calls:
- [ setPurchaseRepository, [ @purchase.repository] ]

purchase.repository:      
class: Application_Repository_Doctrine_PurchaseRepository

archive.repository:      
class: Application_Repository_Doctrine_ArchiveRepository

在某些情况下,我想注入archive.repository而不是purchase.repository。 怎么样? (注意:我没有使用完整的Symfony2框架,只是使用Zend Framework项目中的DI容器)

您可以只使用第二个名称来定义服务吗?

ArchiveService:
  class: Application_Service_Doctrine_PurchaseService
  calls:
    - [ setArchiveRepository, [@archive.repository] ]

那么您的客户代码肯定会知道它需要哪种服务? 您可以将哪种服务从DIC提取到工厂类中(或使用控制语句,无论是否适合您)?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM