Download the PHP package respect/parameter without Composer
On this page you can find all versions of the php package respect/parameter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download respect/parameter
More information about respect/parameter
Files in respect/parameter
Package parameter
Short Description Resolves function/constructor parameters via type and name lookup
License ISC
Informations about the package parameter
Respect\Parameter
Resolves function and constructor parameters from a PSR-11 container by type.
Install
Usage
Resolve arguments
For each parameter the resolver tries, in order:
- An explicit named argument (keyed by parameter name)
- An argument matching the parameter type
- The container, matched by type (non-builtin)
- The next remaining positional argument
- The parameter's default value
null
Typed parameters are bound first (steps 1–3), so a positional object is matched by type wherever it sits and an earlier untyped parameter can't consume it; untyped parameters then take the leftover positional arguments in declaration order (step 4). A trailing variadic parameter receives a matching named argument (if any) followed by every remaining positional argument.
The result is an ordered list, so spread it straight into the call or constructor:
Type-first matching
A positional object is bound to the parameter that declares its type, wherever each sits in the list — so an untyped parameter never accidentally swallows it:
Named arguments
resolve() accepts named arguments too — keyed by parameter name, taking precedence over the
container; the remaining parameters are filled by type and defaults:
Bind to the interface
Type-hint Resolver (the resolve() contract) rather than the concrete ContainerResolver to stay
decoupled from the implementation:
Reflect any callable
Convert any callable form into a ReflectionFunctionAbstract:
Check accepted types
API
| Method | Type | Description |
|---|---|---|
resolve($reflection, $arguments) |
instance | Resolve named/positional arguments + container into an ordered list<mixed>, expanding variadics |
reflectCallable($callable) |
static | Any callable to ReflectionFunctionAbstract |
acceptsType($reflection, $type) |
static | Check if any parameter accepts a type |
ContainerResolver implements Resolver.
License
ISC. See LICENSE.