function ControllerResolver::getControllerFromDefinition

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Controller/ControllerResolver.php \Drupal\Core\Controller\ControllerResolver::getControllerFromDefinition()
  2. 8.9.x core/lib/Drupal/Core/Controller/ControllerResolver.php \Drupal\Core\Controller\ControllerResolver::getControllerFromDefinition()
  3. 11.x core/lib/Drupal/Core/Controller/ControllerResolver.php \Drupal\Core\Controller\ControllerResolver::getControllerFromDefinition()

Returns the Controller instance with a given controller route definition.

As several resolvers can exist for a single application, a resolver must return false when it is not able to determine the controller.

Parameters

mixed $controller: The controller attribute like in $request->attributes->get('_controller')

Return value

mixed|bool A PHP callable representing the Controller, or false if this resolver is not able to determine the controller

Overrides ControllerResolverInterface::getControllerFromDefinition

1 call to ControllerResolver::getControllerFromDefinition()
ControllerResolver::getController in core/lib/Drupal/Core/Controller/ControllerResolver.php

File

core/lib/Drupal/Core/Controller/ControllerResolver.php, line 48

Class

ControllerResolver
ControllerResolver to enhance controllers beyond Symfony's basic handling.

Namespace

Drupal\Core\Controller

Code

public function getControllerFromDefinition($controller, $path = '') {
  try {
    $callable = $this->callableResolver
      ->getCallableFromDefinition($controller);
  } catch (\InvalidArgumentException $e) {
    throw new \InvalidArgumentException(sprintf('The controller for URI "%s" is not callable.', $path), 0, $e);
  }
  return $callable;
}

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