2012-07-13 26 views
5

Estoy navegando por el Symfony 2 docs y se encontró Dependency Injection, y no se puede encontrar una referencia para autowiring. Encontré un bundle that offers some of this functionality, pero todavía está en versión beta y parece estar vinculado a las anotaciones (corrígeme si me equivoco).Symfony 2 Dependency Injection & autowiring

Lo que estoy buscando es un objeto (como el contenedor de servicio), que podría inyectar dependencias en mis servicios, a través de la inyección de setter.

Por ejemplo, me gustaría definir un servicio:

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

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

Y luego, podría utilizar este contenedor de servicios hipotética para inyectar dependencias en el servicio, incluso si éste ha sido creado fuera del contenedor:

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

$container->inject($service); 

¿Hay un contenedor DI que pueda autoconectar dependencias de esta manera?

Respuesta

-1

Consulte la anotación @InjectParams de JMSDiExtraBundle.

+2

Symfony tiene solución ya nativa. –

+1

El hecho de que respondí esta pregunta hace más de 3 años no importa, ¿verdad? –

+1

Es solo para los recién llegados, por lo que saben que Symfony tiene soporte nativo por ahora. Y que no tienen que usar algunos paquetes. Intento promover la respuesta más relevante actualizada. –

Cuestiones relacionadas