2012-07-13 26 views
5

Dependency Injection ile ilgili Symfony 2 docs incelemelerini alıyorum ve otomatik kablo bağlantıları için bir referans bulunamıyor. Bir bundle that offers some of this functionality buldum, ancak hala beta ve ek açıklamalara bağlı görünüyor (yanılıyorsam beni düzelt).Symfony 2 Bağımlılık Enjeksiyon ve otomatik kablolama

Aradığım şey, hizmetlerimdeki bağımlılıkları enjekte edebilen bir nesne (servis kabı gibi), setter enjeksiyonu yoluyla gerçekleştirmektir.

Örneğin, ben bir hizmeti tanımlarsınız:

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

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

Ve sonra, bu bir kabın dışında oluşturulan olsa bile, Hizmet bağımlılıkları enjekte etmek bu varsayımsal hizmet kabı kullanabilirsiniz:

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

$container->inject($service); 

Bağımlılıkları bu şekilde otomatik olarak işleyebilen DI kap var mı?

cevap

-1

JMSDiExtraBundle'dan @InjectParams ek açıklamasına bakın.

+2

Symfony'nin zaten yerli bir çözümü vardır. –

+1

Bu soruya 3 yıldan fazla bir süre önce cevap vermem önemli değil, değil mi? –

+1

Sadece yeni gelenler için, Symfony'nin şimdilik yerel desteği olduğunu biliyorlar. Ve bazı demetleri kullanmak zorunda değiller. En alakalı cevabı güncel tutmaya çalışıyorum. –