簡體   English   中英

Symfony 2依賴注入和自動裝配

[英]Symfony 2 Dependency Injection & autowiring

我正在瀏覽與依賴注入相關的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容器?

從Symfony 2.8開始,本機支持自動裝配: https//github.com/symfony/symfony/pull/15613

還可以通過https://github.com/kutny/autowiring-bundle獲得自動裝配包。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM