我在瀏覽與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容器可以通過這種方式自動調用依賴關係?
Symfony的早已本地解決方案。 – 2015-11-07 01:04:30
3年前我回答這個問題並不重要,對吧? – 2015-11-07 11:58:19
它只是爲了新手,所以他們知道Symfony現在有本地支持。而且他們不必使用一些捆綁。我試圖推廣最相關的答案。 – 2015-11-07 15:26:53