src/EventSubscriber/AutoFlushEventSubscriber.php line 38

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use App\Service\Utils\FlushService;
  4. use Doctrine\Persistence\ManagerRegistry;
  5. use Exception;
  6. use Psr\Log\LoggerInterface;
  7. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\HttpKernel\Event\ResponseEvent;
  10. use Symfony\Component\HttpKernel\KernelEvents;
  11. /**
  12.  * Auto flushes objects before HTTP responses
  13.  */
  14. class AutoFlushEventSubscriber implements EventSubscriberInterface {
  15.     /** @var FlushService $flushService */
  16.     private FlushService $flushService;
  17.     public function __construct(FlushService $flushService) {
  18.         $this->flushService $flushService;
  19.     }
  20.     /** @inheritdoc */
  21.     public static function getSubscribedEvents() {
  22.         return [
  23.             KernelEvents::RESPONSE => ['doAutoFlush'1024]
  24.         ];
  25.     }
  26.     /**
  27.      * Performs auto flushing in database before the response is sent to the end-user.
  28.      *
  29.      * @param ResponseEvent $event The response event.
  30.      */
  31.     public function doAutoFlush(ResponseEvent $event): void {
  32.        $this->flushService->flush($event);
  33.     }
  34. }