function EntityManager::getCanonical

Retrieves the canonical entity variant matching the specified context.

If an entity type is revisionable and/or translatable, which entity variant should be handled depends on the context in which the manipulation happens. This will return the fittest entity variant intended for unprivileged user consumption matching the specified context. This is typically the variant that would be displayed on the entity's canonical route.

The negotiation process will not perform any access check, so it is the responsibility of the caller to verify that the user manipulating the entity variant is actually allowed to do so.

Parameters

string $entity_type_id: The entity type identifier.

int|string $entity_id: An entity identifier.

\Drupal\Core\Plugin\Context\ContextInterface[] $contexts: (optional) An associative array of objects representing the contexts the entity will be edited in keyed by fully qualified context ID. Defaults to the currently available contexts.

Return value

\Drupal\Core\Entity\EntityInterface|null An entity object variant or NULL if the entity does not exist.

Overrides EntityRepositoryInterface::getCanonical

Deprecated

in drupal:8.7.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Entity\EntityRepositoryInterface::getCanonical() instead.

See also

https://www.drupal.org/node/2549139

File

core/lib/Drupal/Core/Entity/EntityManager.php, line 454

Class

EntityManager
Provides a wrapper around many other services relating to entities.

Namespace

Drupal\Core\Entity

Code

public function getCanonical($entity_type_id, $entity_id, array $contexts = NULL) {
    @trigger_error('EntityManagerInterface::getCanonical() is deprecated in Drupal 8.7.0 and will be removed before Drupal 9.0.0. Use \\Drupal\\Core\\Entity\\EntityRepositoryInterface::getCanonical() instead. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
    return $this->container
        ->get('entity.repository')
        ->getCanonical($entity_type_id, $entity_id, $contexts);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.