src/EventSubscriber/IbanFormatListener.php line 21

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use ApiPlatform\Core\EventListener\EventPriorities;
  4. use App\Entity\Iban;
  5. use App\Entity\User;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. use Symfony\Component\HttpKernel\Event\RequestEvent;
  8. use Symfony\Component\HttpKernel\KernelEvents;
  9. class IbanFormatListener implements EventSubscriberInterface
  10. {
  11.     public static function getSubscribedEvents()
  12.     {
  13.         return [
  14.             KernelEvents::REQUEST => ['formatIban'EventPriorities::POST_DESERIALIZE],
  15.         ];
  16.     }
  17.     public function formatIban(RequestEvent $event)
  18.     {
  19.         $request $event->getRequest();
  20.         $route =  $request->attributes->get('_route');
  21.         if ( ! in_array($route, ['api_ibans_post_collection''api_ibans_put_item'])) {
  22.             return;
  23.         }
  24.         /** @var Iban $iban */
  25.         $iban $request->attributes->get('data');
  26.         $iban->setIban(str_replace(' '''$iban->getIban()));
  27.     }
  28. }