Symfony 1.4: Ejecutar Consultas Sql Después De Cargar Tus Fixtures
posteado por Emiliano, categoría Symfony
27 jul2010
Utilizando los "Eventos" de Symfony para ejecutar consultas SQL después de cargar tus fixtures.
A veces podrías necesitar ejecutar algunas consultas SQL despues de que tus fixtures son cargados, por ejemplo, quizás necesitas hacer algo que es específico de tu RDBMS (Relational Database Management System) y no es soportado ni por Doctrine ni por Propel. Afortunadamente Symfony 1.4 tiene un excelente manejo de Eventos los cuales te permiten conectarte con el core del framework y ejecutar tu propio código cuando ciertas acciones son llevadas a cabo.
El siguiente snippet es un ejemplo donde puedes ejecutar algunas consultas SQL manualmente luego de la tarea doctrine:data-load:
<?php class ProjectConfiguration extends sfProjectConfiguration { public function setup() { // ... $this->dispatcher->connect('command.post_command', array( $this, 'listenToCommandPostCommandEvent' )); } public function listenToCommandPostCommandEvent(sfEvent $event) { $invoker = $event->getSubject(); if($invoker instanceof sfDoctrineDataLoadTask) { $conn = Doctrine_Manager::connection(); $conn->exec(// ...); } } }
Symfony 1.4 tiene muchos Eventos que puedes utilizar para personalizar funcionalidades cuando estas desarrollando tu proyecto. Puedes leer más acerca de Eventos en la documentación de Symfony 1.4.
Fuente: Jonathan Wage 's Page


0 Comentario