class ControllerResolver implements ArgumentResolverInterface, ControllerResolverInterface

ControllerResolver.

This implementation uses the '_controller' request attribute to determine the controller to execute and uses the request attributes to determine the controller method arguments.

Methods

__construct(LoggerInterface $logger = null)

Constructor.

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.

Details

at line line 52
__construct(LoggerInterface $logger = null)

Constructor.

Parameters

LoggerInterface $logger A LoggerInterface instance

at line line 66
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 A Request instance

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

at line line 110
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