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