Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
CRAP | |
0.00% |
0 / 9 |
| EntityRouteAlterSubscriber | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
20 | |
0.00% |
0 / 9 |
| __construct | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| onRoutingRouteAlterSetType | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 4 |
|||
| getSubscribedEvents | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\Core\EventSubscriber\EntityRouteAlterSubscriber. | |
| */ | |
| namespace Drupal\Core\EventSubscriber; | |
| use Drupal\Core\Entity\EntityResolverManager; | |
| use Symfony\Component\EventDispatcher\EventSubscriberInterface; | |
| use Drupal\Core\Routing\RoutingEvents; | |
| use Drupal\Core\Routing\RouteBuildEvent; | |
| /** | |
| * Registers the 'type' of route parameter names that match an entity type. | |
| * | |
| * @todo Matching on parameter *name* is not ideal, because it breaks | |
| * encapsulation: parameter names are local to the controller and route, and | |
| * controllers and routes can't be expected to know what all possible entity | |
| * types might exist across all modules in order to pick names that don't | |
| * conflict. Instead, the 'type' should be determined from introspecting what | |
| * kind of PHP variable (e.g., a type hinted interface) the controller | |
| * requires: https://www.drupal.org/node/2041907. | |
| */ | |
| class EntityRouteAlterSubscriber implements EventSubscriberInterface { | |
| /** | |
| * The entity resolver manager. | |
| * | |
| * @var \Drupal\Core\Entity\EntityResolverManager | |
| */ | |
| protected $resolverManager; | |
| /** | |
| * Constructs an EntityRouteAlterSubscriber instance. | |
| * | |
| * @param \Drupal\Core\Entity\EntityResolverManager | |
| * The entity resolver manager. | |
| */ | |
| public function __construct(EntityResolverManager $entity_resolver_manager) { | |
| $this->resolverManager = $entity_resolver_manager; | |
| } | |
| /** | |
| * Applies parameter converters to route parameters. | |
| * | |
| * @param \Drupal\Core\Routing\RouteBuildEvent $event | |
| * The event to process. | |
| */ | |
| public function onRoutingRouteAlterSetType(RouteBuildEvent $event) { | |
| foreach ($event->getRouteCollection() as $route) { | |
| $this->resolverManager->setRouteOptions($route); | |
| } | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| static function getSubscribedEvents() { | |
| $events[RoutingEvents::ALTER][] = array('onRoutingRouteAlterSetType', -150); | |
| return $events; | |
| } | |
| } |