Sitio web no optimizado para IE 6

Symfony 1.4: Ejecutar Consultas Sql Después De Cargar Tus Fixtures

posteado por Emiliano, categoría Symfony

27 jul
2010

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

Compártelo: technorati Symfony 1.4: Ejecutar Consultas Sql Después De Cargar Tus Fixtures digg Symfony 1.4: Ejecutar Consultas Sql Después De Cargar Tus Fixtures facebook Symfony 1.4: Ejecutar Consultas Sql Después De Cargar Tus Fixtures google Symfony 1.4: Ejecutar Consultas Sql Después De Cargar Tus Fixtures linkedin Symfony 1.4: Ejecutar Consultas Sql Después De Cargar Tus Fixtures

0 Comentario

Comentar este Artículo






Captcha ImageReload_original