function EntityConverter::applies

Same name in other branches
  1. 9 core/lib/Drupal/Core/ParamConverter/EntityConverter.php \Drupal\Core\ParamConverter\EntityConverter::applies()
  2. 8.9.x core/lib/Drupal/Core/ParamConverter/EntityConverter.php \Drupal\Core\ParamConverter\EntityConverter::applies()
  3. 11.x core/lib/Drupal/Core/ParamConverter/EntityConverter.php \Drupal\Core\ParamConverter\EntityConverter::applies()

Overrides ParamConverterInterface::applies

2 methods override EntityConverter::applies()
AdminPathConfigEntityConverter::applies in core/lib/Drupal/Core/ParamConverter/AdminPathConfigEntityConverter.php
Determines if the converter applies to a specific route and variable.
EntityUuidConverter::applies in core/modules/jsonapi/src/ParamConverter/EntityUuidConverter.php
Determines if the converter applies to a specific route and variable.

File

core/lib/Drupal/Core/ParamConverter/EntityConverter.php, line 150

Class

EntityConverter
Parameter converter for upcasting entity IDs to full objects.

Namespace

Drupal\Core\ParamConverter

Code

public function applies($definition, $name, Route $route) {
    if (!empty($definition['type']) && str_starts_with($definition['type'], 'entity:')) {
        $entity_type_id = substr($definition['type'], strlen('entity:'));
        if (str_contains($definition['type'], '{')) {
            $entity_type_slug = substr($entity_type_id, 1, -1);
            return $name != $entity_type_slug && in_array($entity_type_slug, $route->compile()
                ->getVariables(), TRUE);
        }
        return $this->entityTypeManager
            ->hasDefinition($entity_type_id);
    }
    return FALSE;
}

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