Middleware
in package
Middleware is used to provide hooks before or after controller methods and deal with possible exceptions raised in the controller methods.
They're modeled after Django's middleware system: https://docs.djangoproject.com/en/dev/topics/http/middleware/
Tags
Table of Contents
Methods
- afterController() : Response
- This is being run after a successful controllermethod call and allows the manipulation of a Response object. The middleware is run in reverse order
- afterException() : Response
- This is being run when either the beforeController method or the controller method itself is throwing an exception. The middleware is asked in reverse order to handle the exception and to return a response.
- beforeController() : void
- This is being run in normal order before the controller is being called which allows several modifications and checks
- beforeOutput() : string
- This is being run after the response object has been rendered and allows the manipulation of the output. The middleware is run in reverse order
Methods
afterController()
This is being run after a successful controllermethod call and allows the manipulation of a Response object. The middleware is run in reverse order
public
afterController(Controller $controller, string $methodName, Response $response) : Response
Parameters
- $controller : Controller
-
the controller that is being called
- $methodName : string
-
the name of the method that will be called on the controller
- $response : Response
-
the generated response from the controller
Tags
Return values
Response —a Response object
afterException()
This is being run when either the beforeController method or the controller method itself is throwing an exception. The middleware is asked in reverse order to handle the exception and to return a response.
public
afterException(Controller $controller, string $methodName, Exception $exception) : Response
If the response is null, it is assumed that the exception could not be handled and the error will be thrown again
Parameters
- $controller : Controller
-
the controller that is being called
- $methodName : string
-
the name of the method that will be called on the controller
- $exception : Exception
-
the thrown exception
Tags
Return values
Response —a Response object in case that the exception was handled
beforeController()
This is being run in normal order before the controller is being called which allows several modifications and checks
public
beforeController(Controller $controller, string $methodName) : void
Parameters
- $controller : Controller
-
the controller that is being called
- $methodName : string
-
the name of the method that will be called on the controller
Tags
beforeOutput()
This is being run after the response object has been rendered and allows the manipulation of the output. The middleware is run in reverse order
public
beforeOutput(Controller $controller, string $methodName, string $output) : string
Parameters
- $controller : Controller
-
the controller that is being called
- $methodName : string
-
the name of the method that will be called on the controller
- $output : string
-
the generated output from a response
Tags
Return values
string —the output that should be printed