3 namespace Drupal\Core\EventSubscriber;
5 use Drupal\Core\Routing\LazyRouteFilter;
6 use Drupal\Core\Routing\RouteBuildEvent;
7 use Drupal\Core\Routing\RoutingEvents;
8 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
11 * Listens to the filtered collection of route instances.
13 class RouteFilterSubscriber implements EventSubscriberInterface {
16 * The lazy route filter.
18 * @var \Drupal\Core\Routing\LazyRouteFilter
20 protected $routeFilter;
23 * Constructs the RouteFilterSubscriber object.
25 * @param \Drupal\Core\Routing\LazyRouteFilter $route_filter
26 * The lazy route filter.
28 public function __construct(LazyRouteFilter $route_filter) {
29 $this->routeFilter = $route_filter;
33 * Get the Response object from filtered route collection.
35 * @param \Drupal\Core\Routing\RouteBuildEvent $event
36 * The route build event.
38 public function onRouteAlter(RouteBuildEvent $event) {
39 $this->routeFilter->setFilters($event->getRouteCollection());
45 public static function getSubscribedEvents() {
46 $events[RoutingEvents::ALTER][] = ['onRouteAlter', -300];