[英]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.