2012-07-13 45 views
5

Przeglądam stronę Symfony 2 docs związaną z Dependency Injection i nie mogę znaleźć odwołania do autowiring. Znalazłem bundle that offers some of this functionality, ale nadal jest w wersji beta i wydaje się być związany z adnotacjami (popraw mnie, jeśli się mylę).Symfony 2 Injection Injection & autowiring

Czego szukam to obiekt (taki jak kontener usługowy), który może wstrzykiwać zależności w moich usługach za pomocą zastrzyku ustawiającego.

Na przykład, chciałbym zdefiniować usługę:

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

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

A potem, mogłem skorzystać z tej hipotetycznej pojemnik usług wstrzyknąć współzależności w Serwisie, nawet jeśli ten został stworzony na zewnątrz pojemnika:

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

$container->inject($service); 

Czy istnieje pojemnik DI, który może w ten sposób współtworzyć zależności?

Odpowiedz

-1

Zobacz adnotację @InjectParams z JMSDiExtraBundle.

+2

Symfony ma już natywną rozwiązanie. –

+1

Fakt, że odpowiedziałem na to pytanie ponad 3 lata temu, nie ma znaczenia, prawda? –

+1

To tylko dla nowoprzybyłych, więc wiedzą, że Symfony ma teraz natywne wsparcie. I że nie muszą korzystać z niektórych pakietów. Staram się promować najbardziej odpowiednią odpowiedź na bieżąco. –