Class ControllerFactory
Factory method for building controllers for request.
Namespace: Cake\Controller
Method Summary
-
create() public
Create a controller for a given request.
-
getControllerClass() public
Determine the controller class name based on current request and controller param
-
invoke() public
Invoke a controller's action and wrapping methods.
-
missingController() protected
Throws an exception when a controller is missing.
Method Detail
create() ¶ public
create(Psr\Http\Message\ServerRequestInterface $request): Cake\Controller\Controller
Create a controller for a given request.
Parameters
-
Psr\Http\Message\ServerRequestInterface$request The request to build a controller for.
Returns
Cake\Controller\ControllerThrows
Cake\Http\Exception\MissingControllerExceptiongetControllerClass() ¶ public
getControllerClass(Cake\Http\ServerRequest $request): string|null
Determine the controller class name based on current request and controller param
Parameters
-
Cake\Http\ServerRequest$request The request to build a controller for.
Returns
string|nullinvoke() ¶ public
invoke(mixed $controller): Psr\Http\Message\ResponseInterface
Invoke a controller's action and wrapping methods.
Parameters
-
mixed$controller The controller to invoke.
Returns
Psr\Http\Message\ResponseInterfaceThe response
Throws
Cake\Controller\Exception\MissingActionExceptionIf controller action is not found.
UnexpectedValueExceptionIf return value of action method is not null or ResponseInterface instance.
missingController() ¶ protected
missingController(Cake\Http\ServerRequest $request): void
Throws an exception when a controller is missing.
Parameters
-
Cake\Http\ServerRequest$request The request.
Returns
voidThrows
Cake\Http\Exception\MissingControllerException