Class MiddlewareQueue
Provides methods for creating and manipulating a "queue" of middleware callables. This queue is used to process a request and response via \Cake\Http\Runner.
- Cake\Http\MiddlewareQueue implements Countable
Properties summary
-
$callables
protectedcallable[]
The queue of middleware callables. -
$queue
protectedarray
The queue of middlewares.
Method Summary
-
__construct() public
Constructor -
add() public
Append a middleware callable to the end of the queue. -
count() public
Get the number of connected middleware layers. -
get() public
Get the middleware at the provided index. -
insertAfter() public
Insert a middleware object after the first matching class. -
insertAt() public
Insert a middleware callable at a specific index. -
insertBefore() public
Insert a middleware object before the first matching class. -
prepend() public
Prepend a middleware to the start of the queue. -
push() public
Alias for MiddlewareQueue::add(). -
resolve() protected
Resolve middleware name to callable.
Method Detail
__construct() public ¶
__construct( array $middleware [] )
Constructor
Parameters
- array $middleware optional []
- The list of middleware to append.
add() public ¶
add( callable|string|array $middleware )
Append a middleware callable to the end of the queue.
Parameters
- callable|string|array $middleware
- The middleware(s) to append.
Returns
$this
count() public ¶
count( )
Get the number of connected middleware layers.
Implement the Countable interface.
Returns
Implementation of
Countable::count()
get() public ¶
get( integer $index )
Get the middleware at the provided index.
Parameters
- integer $index
- The index to fetch.
Returns
Either the callable middleware or null if the index is undefined.
insertAfter() public ¶
insertAfter( string $class , callable|string $middleware )
Insert a middleware object after the first matching class.
Finds the index of the first middleware that matches the provided class, and inserts the supplied callable after it. If the class is not found, this method will behave like add().
Parameters
- string $class
- The classname to insert the middleware before.
- callable|string $middleware
- The middleware to insert.
Returns
$this
insertAt() public ¶
insertAt( integer $index , callable|string $middleware )
Insert a middleware callable at a specific index.
If the index already exists, the new callable will be inserted, and the existing element will be shifted one index greater.
Parameters
- integer $index
- The index to insert at.
- callable|string $middleware
- The middleware to insert.
Returns
$this
insertBefore() public ¶
insertBefore( string $class , callable|string $middleware )
Insert a middleware object before the first matching class.
Finds the index of the first middleware that matches the provided class, and inserts the supplied callable before it.
Parameters
- string $class
- The classname to insert the middleware before.
- callable|string $middleware
- The middleware to insert.
Returns
$this
Throws
If middleware to insert before is not found.
prepend() public ¶
prepend( callable|string|array $middleware )
Prepend a middleware to the start of the queue.
Parameters
- callable|string|array $middleware
- The middleware(s) to prepend.
Returns
$this