2012-07-13 53 views
5

我在瀏覽與Dependency Injection相關的Symfony 2 docs,並找不到對自動裝配的引用。我發現了一個bundle that offers some of this functionality,但它仍處於測試階段,似乎與註釋綁定(如果我錯了,請糾正我)。Symfony 2依賴注入和自動裝配

我在找的是一個對象(比如服務容器),它可以通過setter注入來在我的服務中注入依賴關係。

例如,我會定義一個服務:

class Service { 
    /** 
    * @var \PDO 
    */ 
    protected $pdo; 

    /** 
    * @param \PDO $pdo 
    * @Inject 
    */ 
    public function setPDO(\PDO $pdo) { 
     $this->pdo = $pdo; 
    } 
} 

然後,我可以用這個假設的服務容器注入依賴的服務,即使這樣一個已經在容器外部產生:

$service = new Service(); 
// ... 

$container->inject($service); 

是否有一個DI容器可以通過這種方式自動調用依賴關係?

回答

-1

請參閱JMSDiExtraBundle@InjectParams註釋。

+2

Symfony的早已本地解決方案。 – 2015-11-07 01:04:30

+1

3年前我回答這個問題並不重要,對吧? – 2015-11-07 11:58:19

+1

它只是爲了新手,所以他們知道Symfony現在有本地支持。而且他們不必使用一些捆綁。我試圖推廣最相關的答案。 – 2015-11-07 15:26:53