src/Subscriber/BlogSubscriber.php line 29

Open in your IDE?
  1. <?php
  2. namespace App\Subscriber;
  3. use App\Entity\Blog;
  4. use App\Service\BlogService;
  5. use EasyCorp\Bundle\EasyAdminBundle\Event\AfterEntityDeletedEvent;
  6. use EasyCorp\Bundle\EasyAdminBundle\Event\AfterEntityPersistedEvent;
  7. use EasyCorp\Bundle\EasyAdminBundle\Event\AfterEntityUpdatedEvent;
  8. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  9. class BlogSubscriber implements EventSubscriberInterface
  10. {
  11. private $blogService;
  12. public function __construct(BlogService $blogsService)
  13. {
  14. $this->blogService = $blogsService;
  15. }
  16. public static function getSubscribedEvents()
  17. {
  18. return array(
  19. AfterEntityPersistedEvent::class => array('updateSitemap'),
  20. AfterEntityUpdatedEvent::class => array('updateSitemap'),
  21. AfterEntityDeletedEvent::class => array('updateSitemap'),
  22. );
  23. }
  24. function updateSitemap($event) {
  25. $result = $event->getEntityInstance();
  26. if (!($result instanceof Blog)) {
  27. return;
  28. }
  29. $this->blogService->generateSitemap();
  30. }
  31. }