vendor/ibexa/core/src/lib/MVC/Symfony/View/ParametersInjector/EventDispatcherInjector.php line 28

Open in your IDE?
  1. <?php
  2. /**
  3.  * @copyright Copyright (C) Ibexa AS. All rights reserved.
  4.  * @license For full copyright and license information view LICENSE file distributed with this source code.
  5.  */
  6. namespace Ibexa\Core\MVC\Symfony\View\ParametersInjector;
  7. use Ibexa\Core\MVC\Symfony\View\Event\FilterViewParametersEvent;
  8. use Ibexa\Core\MVC\Symfony\View\ParametersInjector;
  9. use Ibexa\Core\MVC\Symfony\View\View;
  10. use Ibexa\Core\MVC\Symfony\View\ViewEvents;
  11. use Symfony\Component\EventDispatcher\EventDispatcherInterface;
  12. /**
  13.  * Injects into a View parameters that were collected via the EventDispatcher.
  14.  */
  15. class EventDispatcherInjector implements ParametersInjector
  16. {
  17.     /** @var \Symfony\Component\EventDispatcher\EventDispatcherInterface */
  18.     private $eventDispatcher;
  19.     public function __construct(EventDispatcherInterface $eventDispatcher)
  20.     {
  21.         $this->eventDispatcher $eventDispatcher;
  22.     }
  23.     public function injectViewParameters(View $view, array $parameters)
  24.     {
  25.         $event = new FilterViewParametersEvent($view$parameters);
  26.         $this->eventDispatcher->dispatch($eventViewEvents::FILTER_VIEW_PARAMETERS);
  27.         $view->addParameters($event->getViewParameters());
  28.     }
  29. }
  30. class_alias(EventDispatcherInjector::class, 'eZ\Publish\Core\MVC\Symfony\View\ParametersInjector\EventDispatcherInjector');