src/EventListener/CommandEventListener.php line 27

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use Symfony\Component\Console\Event\ConsoleCommandEvent;
  4. use Symfony\Component\Console\Event\ConsoleErrorEvent;
  5. use Symfony\Component\Console\Event\ConsoleSignalEvent;
  6. use Symfony\Component\Console\Event\ConsoleTerminateEvent;
  7. class CommandEventListener
  8. {
  9.     public function onConsoleCommand(ConsoleCommandEvent $event): void
  10.     {}
  11.     public function onConsoleTerminate(ConsoleTerminateEvent $event)
  12.     {
  13.         $output $event->getOutput();
  14.         if( $command $event->getCommand() ) {
  15.             $output->writeln([
  16.                 '',
  17.                 sprintf('After running command <info>%s</info>'$command->getName())
  18.             ]);
  19.         }
  20.     }
  21.     public function onConsoleSignal(ConsoleSignalEvent $event)
  22.     {
  23.         $output $event->getOutput();
  24.         if( $command $event->getCommand() ) {
  25.             $signal $event->getHandlingSignal();
  26.             $pid getmypid();
  27.             //15 - kill
  28.             //2 - ctrl+c
  29.             //9 - kill -9
  30.             $output->writeln([
  31.                 '',
  32.                 sprintf('At signal on command <info>%s</info> get signal: %s'$command->getName(), $signal)
  33.             ]);
  34.         }
  35.     }
  36.     public function onConsoleException(ConsoleErrorEvent $event)
  37.     {
  38.         $output $event->getOutput();
  39.         if( $command $event->getCommand() ) {
  40.             $output->writeln([
  41.                 '',
  42.                 sprintf('Oops, exception thrown while running command <info>%s</info>'$command->getName())
  43.             ]);
  44.             $exitCode $event->getExitCode();
  45.         }
  46.     }
  47. }