You are here

public function EntityTypeManager::getRouteProviders in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Entity/EntityTypeManager.php \Drupal\Core\Entity\EntityTypeManager::getRouteProviders()

Gets all route provider instances.

Parameters

string $entity_type_id: The entity type ID for the route providers.

Return value

\Drupal\Core\Entity\Routing\EntityRouteProviderInterface[]

Overrides EntityTypeManagerInterface::getRouteProviders

File

core/lib/Drupal/Core/Entity/EntityTypeManager.php, line 238

Class

EntityTypeManager
Manages entity type plugin definitions.

Namespace

Drupal\Core\Entity

Code

public function getRouteProviders($entity_type_id) {
  if (!isset($this->handlers['route_provider'][$entity_type_id])) {
    $route_provider_classes = $this
      ->getDefinition($entity_type_id, TRUE)
      ->getRouteProviderClasses();
    foreach ($route_provider_classes as $type => $class) {
      $this->handlers['route_provider'][$entity_type_id][$type] = $this
        ->createHandlerInstance($class, $this
        ->getDefinition($entity_type_id));
    }
  }
  return isset($this->handlers['route_provider'][$entity_type_id]) ? $this->handlers['route_provider'][$entity_type_id] : [];
}