class ControllerDispatcher implements ControllerDispatcher (View source)

Traits

Properties

protected Container $container

The container instance.

Methods

array
resolveClassMethodDependencies(array $parameters, object $instance, string $method)

Resolve the object method's type-hinted dependencies.

array
resolveMethodDependencies(array $parameters, ReflectionFunctionAbstract $reflector)

Resolve the given method's type-hinted dependencies.

mixed
transformDependency(ReflectionParameter $parameter, array $parameters)

Attempt to transform the given parameter into a class instance.

bool
alreadyInParameters(string $class, array $parameters)

Determine if an object of the given class is in a list of parameters.

void
spliceIntoParameters(array $parameters, string $offset, mixed $value)

Splice the given value into the parameter list.

void
__construct(Container $container)

Create a new controller dispatcher instance.

mixed
dispatch(Route $route, mixed $controller, string $method)

Dispatch a request to a given controller and method.

array
getMiddleware(Controller $controller, string $method)

Get the middleware for the controller instance.

static bool
methodExcludedByOptions(string $method, array $options)

Determine if the given options exclude a particular method.

Details

protected array resolveClassMethodDependencies(array $parameters, object $instance, string $method)

Resolve the object method's type-hinted dependencies.

Parameters

array $parameters
object $instance
string $method

Return Value

array

array resolveMethodDependencies(array $parameters, ReflectionFunctionAbstract $reflector)

Resolve the given method's type-hinted dependencies.

Parameters

array $parameters
ReflectionFunctionAbstract $reflector

Return Value

array

protected mixed transformDependency(ReflectionParameter $parameter, array $parameters)

Attempt to transform the given parameter into a class instance.

Parameters

ReflectionParameter $parameter
array $parameters

Return Value

mixed

protected bool alreadyInParameters(string $class, array $parameters)

Determine if an object of the given class is in a list of parameters.

Parameters

string $class
array $parameters

Return Value

bool

protected void spliceIntoParameters(array $parameters, string $offset, mixed $value)

Splice the given value into the parameter list.

Parameters

array $parameters
string $offset
mixed $value

Return Value

void

void __construct(Container $container)

Create a new controller dispatcher instance.

Parameters

Container $container

Return Value

void

mixed dispatch(Route $route, mixed $controller, string $method)

Dispatch a request to a given controller and method.

Parameters

Route $route
mixed $controller
string $method

Return Value

mixed

array getMiddleware(Controller $controller, string $method)

Get the middleware for the controller instance.

Parameters

Controller $controller
string $method

Return Value

array

static protected bool methodExcludedByOptions(string $method, array $options)

Determine if the given options exclude a particular method.

Parameters

string $method
array $options

Return Value

bool