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.
Algunos proyectos web obligan a utilizar una base de datos existente y que no se puede modificar. En estos casos no es necesario crear las entidades con las herramientas explicadas en las secciones anteriores. Lo mejor es crear las entidades directamente a partir de la base de datos mediante las herramientas de ingeniería inversa que incluye Symfony2. En primer lugar, configura la información de acceso a la base de datos mediante el archivo app/ config/parameters.ini (o, si lo prefieres, en el archivo app/config/config.yml). Después, eje- cuta el siguiente comando para transformar la estructura completa de tablas de la base de datos en las clases PHP de las entidades: $ php app/console doctrine:mapping:import OfertaBundle annotation Importing mapping information from "default" entity manager > writing .../OfertaBundle/Entity/Ciudad.php > writing .../OfertaBundle/Entity/Oferta.php > writing .../OfertaBundle/Entity/Tienda.php // ... El primer argumento del coman
Resta fechas y el devuelve el resultado en segundos: $a = new DateTime('now'); $b = new DateTime('now+1'); $ats = $a->getTimestamp(); $bts = $b->getTimestamp(); $resta = $ats - $bts; //en segundos Sumar meses a una fecha en un formato determinado: $hoy = new \DateTime('now'); $hoy = (String) $hoy->format('dmy'); $hoy->add(new \DateInterval('P11M')); $onceMesesDespues = (String) $hoy->format('dmy');
Comentarios
Publicar un comentario