12345678910111213141516171819202122232425262728293031323334353637383940 |
- <?php
- namespace Drupal\Core\Routing;
- use Symfony\Component\EventDispatcher\EventSubscriberInterface;
- use Symfony\Component\Routing\RouteCollection;
- /**
- * Provides a base implementation for RouteSubscriber.
- */
- abstract class RouteSubscriberBase implements EventSubscriberInterface {
- /**
- * Alters existing routes for a specific collection.
- *
- * @param \Symfony\Component\Routing\RouteCollection $collection
- * The route collection for adding routes.
- */
- abstract protected function alterRoutes(RouteCollection $collection);
- /**
- * {@inheritdoc}
- */
- public static function getSubscribedEvents() {
- $events[RoutingEvents::ALTER] = 'onAlterRoutes';
- return $events;
- }
- /**
- * Delegates the route altering to self::alterRoutes().
- *
- * @param \Drupal\Core\Routing\RouteBuildEvent $event
- * The route build event.
- */
- public function onAlterRoutes(RouteBuildEvent $event) {
- $collection = $event->getRouteCollection();
- $this->alterRoutes($collection);
- }
- }
|