Final Class Yiisoft\Middleware\Dispatcher\CompositeParametersResolver
| Inheritance | Yiisoft\Middleware\Dispatcher\CompositeParametersResolver |
|---|---|
| Implements | Yiisoft\Middleware\Dispatcher\ParametersResolverInterface |
Public Methods
| Method | Description | Defined By |
|---|---|---|
| __construct() | Yiisoft\Middleware\Dispatcher\CompositeParametersResolver | |
| resolve() | Yiisoft\Middleware\Dispatcher\CompositeParametersResolver |
Method Details
| public mixed __construct ( Yiisoft\Middleware\Dispatcher\ParametersResolverInterface $resolvers ) | ||
| $resolvers | Yiisoft\Middleware\Dispatcher\ParametersResolverInterface | |
public function __construct(ParametersResolverInterface ...$resolvers)
{
$this->resolvers = $resolvers;
}
| public array resolve ( array $parameters, \Psr\Http\Message\ServerRequestInterface $request ) | ||
| $parameters | array | |
| $request | \Psr\Http\Message\ServerRequestInterface | |
public function resolve(array $parameters, ServerRequestInterface $request): array
{
$results = [];
foreach ($this->resolvers as $resolver) {
$result = $resolver->resolve($parameters, $request);
$results[] = $result;
$resultKeys = array_keys($result);
$parameters = array_filter(
$parameters,
static fn($key) => !in_array($key, $resultKeys, true),
ARRAY_FILTER_USE_KEY
);
}
return array_merge(...$results);
}
Signup or Login in order to comment.