Índice

Los eventos de la consola

1. Requisitos previos

Es necesaria una buena comprensión de la consola Symfony, para entender este capítulo. No dude en recurrir a los capítulos adecuados (Empezar con Symfony - La consola y Anexos - Crear un comando para la consola), antes de continuar.

2. Los eventos

La consola es capaz de desencadenar varios eventos, concretamente tres.

El primero, console.command, console.commandse produce antes de la ejecución de un comando. Si se lanza una excepción durante el desarrollo del comando, intervendrá el evento console.excepcion. console.excepcionFinalmente se desencadena el evento console.terminate cuando console.terminatetermina el comando.

A continuación se muestra cómo los diferentes eventos de la consola se pueden integrar dentro de un listener:

<?php  
  
namespace Eni\DemoBundle\Listener;  
  
use Symfony\Component\Console\ConsoleEvents;  
use Symfony\Component\EventDispatcher\EventSubscriberInterface; 
use Symfony\Component\Console\Event\ConsoleCommandEvent;  
use Symfony\Component\Console\Event\ConsoleExceptionEvent;  
use Symfony\Component\Console\Event\ConsoleTerminateEvent;  
  
class ConsoleListener implements EventSubscriberInterface  
{      
   public function command(ConsoleCommandEvent $event)  
   {  
       $input = $event->getInput(); // objeto input  
       $output ...