public function ControllerResolver::getArguments

Returns the arguments to pass to the controller.

@api

Parameters

Request $request A Request instance:

mixed $controller A PHP callable:

Throws

\RuntimeException When value for argument given is not provided

Overrides ControllerResolverInterface::getArguments

File

drupal/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/ControllerResolver.php, line 98

Class

ControllerResolver
ControllerResolver.

Namespace

Symfony\Component\HttpKernel\Controller

Code

public function getArguments(Request $request, $controller) {
  if (is_array($controller)) {
    $r = new \ReflectionMethod($controller[0], $controller[1]);
  }
  elseif (is_object($controller) && !$controller instanceof \Closure) {
    $r = new \ReflectionObject($controller);
    $r = $r
      ->getMethod('__invoke');
  }
  else {
    $r = new \ReflectionFunction($controller);
  }
  return $this
    ->doGetArguments($request, $controller, $r
    ->getParameters());
}