簡體   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