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?
Symfony ma już natywną rozwiązanie. –
Fakt, że odpowiedziałem na to pytanie ponad 3 lata temu, nie ma znaczenia, prawda? –
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. –