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\EntityCode
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.