class ControllerResolver extends ContainerControllerResolver

Properties

protected $container from ContainerControllerResolver
protected $parser

Methods

__construct(ContainerInterface $container, ControllerNameParser $parser, LoggerInterface $logger = null)

No description

callable|false
getController(Request $request)

Returns the Controller instance associated with a Request.

array
getArguments(Request $request, callable $controller) deprecated

Returns the arguments to pass to the controller.

array
doGetArguments(Request $request, callable $controller, array $parameters) deprecated

No description

callable
createController(string $controller)

Returns a callable for the given controller.

object
instantiateController(string $class)

Returns an instantiated controller.

Details

at line 26
__construct(ContainerInterface $container, ControllerNameParser $parser, LoggerInterface $logger = null)

Parameters

ContainerInterface $container
ControllerNameParser $parser
LoggerInterface $logger

callable|false getController(Request $request)

Returns the Controller instance associated with a Request.

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

The resolver must only throw an exception when it should be able to load controller but cannot because of some errors made by the developer.

Parameters

Request $request

Return Value

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

Exceptions

LogicException If the controller can't be found

in ControllerResolver at line 102
array getArguments(Request $request, callable $controller) deprecated

deprecated This method is deprecated as of 3.1 and will be removed in 4.0. Implement the ArgumentResolverInterface and inject it in the HttpKernel instead.

Returns the arguments to pass to the controller.

Parameters

Request $request
callable $controller

Return Value

array An array of arguments to pass to the controller

Exceptions

RuntimeException When no value could be provided for a required argument

in ControllerResolver at line 127
protected array doGetArguments(Request $request, callable $controller, array $parameters) deprecated

deprecated This method is deprecated as of 3.1 and will be removed in 4.0. Implement the ArgumentResolverInterface and inject it in the HttpKernel instead.

Parameters

Request $request
callable $controller
array $parameters

Return Value

array The arguments to use when calling the action

at line 36
protected callable createController(string $controller)

Returns a callable for the given controller.

Parameters

string $controller A Controller string

Return Value

callable A PHP callable

Exceptions

LogicException When the name could not be parsed
InvalidArgumentException When the controller class does not exist

at line 55
protected object instantiateController(string $class)

Returns an instantiated controller.

Parameters

string $class A class name

Return Value

object