protected function EntityController::doGetEntity

protected EntityController::doGetEntity(RouteMatchInterface $route_match, EntityInterface $_entity = NULL)

Determines the entity.

Parameters

\Drupal\Core\Routing\RouteMatchInterface $route_match: The route match.

\Drupal\Core\Entity\EntityInterface $_entity: (optional) The entity, set in \Drupal\Core\Entity\Enhancer\EntityRouteEnhancer.

Return value

\Drupal\Core\Entity\EntityInterface|NULL The entity, if it is passed in directly or if the first parameter of the active route is an entity; otherwise, NULL.

File

core/lib/Drupal/Core/Entity/Controller/EntityController.php, line 280

Class

EntityController
Provides the add-page and title callbacks for entities.

Namespace

Drupal\Core\Entity\Controller

Code

protected function doGetEntity(RouteMatchInterface $route_match, EntityInterface $_entity = NULL) {
  if ($_entity) {
    $entity = $_entity;
  }
  else {
    // Let's look up in the route object for the name of upcasted values.
    foreach ($route_match->getParameters() as $parameter) {
      if ($parameter instanceof EntityInterface) {
        $entity = $parameter;
        break;
      }
    }
  }
  if (isset($entity)) {
    return $this->entityRepository->getTranslationFromContext($entity);
  }
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Entity!Controller!EntityController.php/function/EntityController::doGetEntity/8.1.x