src/Subscriber/SessionSubscriber.php line 33

Open in your IDE?
  1. <?php
  2. declare(strict_types 1);
  3. namespace App\Subscriber;
  4. use App\Infra\Events\SessionMessageEvent;
  5. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  6. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  7. class SessionSubscriber implements EventSubscriberInterface
  8. {
  9.   /** @var SessionInterface */
  10.   private $session;
  11.   
  12.   /**
  13.    * SessionSubscriber constructor.
  14.    *
  15.    * @param SessionInterface $session
  16.    */
  17.   public function __construct(SessionInterface $session)
  18.   {
  19.     $this->session $session;
  20.   }
  21.   
  22.   public static function getSubscribedEvents()
  23.   {
  24.     return [
  25.       SessionMessageEvent::SESSION_MESSAGE => 'sessionMessage'
  26.     ];
  27.   }
  28.   
  29.   public function sessionMessage(SessionMessageEvent $event)
  30.   {
  31.     $this->session->getFlashBag()->add($event->getType(),$event->getMessage());
  32.   }
  33. }