class Onion

Middleware stack.

Properties

protected Container $container Container.
protected string $method Method to call on the decoracted class.
protected string|null $expectedInterface Expected middleware interface.
protected array $layers Middleware layers.
protected array $parameters Middleware parameters.

Methods

__construct(Container|null $container = null, string|null $method = null, string|null $expectedInterface = null)

Constructor.

int
addLayer(string $class, array|null $parameters = null, bool $inner = true)

Add a new middleware layer.

int
addInnerLayer(string $class, array|null $parameters = null)

Add a inner layer to the middleware stack.

int
addOuterLayer(string $class, array|null $parameters = null)

Add an outer layer to the middleware stack.

buildCoreClosure(object $object)

Builds the core closure.

buildLayerClosure(object $layer, Closure $next)

Builds a layer closure.

array
mergeParameters(array $parameters, string $middleware)

Returns the parameters of the requested middleware.

object
middlewareFactory(string $middleware, array $parameters)

Middleware factory.

mixed
peel(object $object, array $parameters = [], array $middlewareParameters = [])

Executes the middleware stack.

Details

at line 67
__construct(Container|null $container = null, string|null $method = null, string|null $expectedInterface = null)

Constructor.

Parameters

Container|null $container Container
string|null $method Method to call on the decoracted class
string|null $expectedInterface Expected middleware interface

at line 84
int addLayer(string $class, array|null $parameters = null, bool $inner = true)

Add a new middleware layer.

Parameters

string $class Class
array|null $parameters Middleware parameters
bool $inner Add an inner layer?

Return Value

int

at line 98
int addInnerLayer(string $class, array|null $parameters = null)

Add a inner layer to the middleware stack.

Parameters

string $class Class
array|null $parameters Middleware parameters

Return Value

int

at line 110
int addOuterLayer(string $class, array|null $parameters = null)

Add an outer layer to the middleware stack.

Parameters

string $class Class
array|null $parameters Middleware parameters

Return Value

int

at line 121
protected Closure buildCoreClosure(object $object)

Builds the core closure.

Parameters

object $object The object that we're decorating

Return Value

Closure

at line 138
protected Closure buildLayerClosure(object $layer, Closure $next)

Builds a layer closure.

Parameters

object $layer Middleware object
Closure $next The next middleware layer

Return Value

Closure

at line 153
protected array mergeParameters(array $parameters, string $middleware)

Returns the parameters of the requested middleware.

Parameters

array $parameters Parameters array
string $middleware Middleware name

Return Value

array

at line 165
protected object middlewareFactory(string $middleware, array $parameters)

Middleware factory.

Parameters

string $middleware Middleware class name
array $parameters Middleware parameters

Return Value

object

at line 195
mixed peel(object $object, array $parameters = [], array $middlewareParameters = [])

Executes the middleware stack.

Parameters

object $object The object that we're decorating
array $parameters Parameters
array $middlewareParameters Middleware parameters

Return Value

mixed