martes, 14 de agosto de 2012

Llamar un Controller dentro de otro - Symfony2

Muchas veces vamos a necesitar dividir el DefaultController.php en varios módulos independientes y mantenibles.

Suponemos que extraemos parte de DefaultController.php y creamos modulo1.php y modulo2.php. En estos momentos tenemos tres archivos.

- DefaultController.php
- Modulo1Controller.php
- Modulo2Controller.php

El problema llega al momento en que queremos acceder al siguiente objeto desde cualquier controller:

$em = $this->getDoctrine()->getEntityManager();


La solucion es setear el container apenas instanciamos los objetos:

$modulo1Controller = new Modulo1Controller.php();
$modulo1Controller->setContainer($this->container);

Esto permite por ejemplo, acceder a la la base de datos de distintos controladores.


No hay comentarios:

Publicar un comentario