0 follower

Final Class Yiisoft\Middleware\Dispatcher\CompositeParametersResolver

InheritanceYiisoft\Middleware\Dispatcher\CompositeParametersResolver
ImplementsYiisoft\Middleware\Dispatcher\ParametersResolverInterface

Method Details

Hide inherited methods

__construct() public method

public mixed __construct ( Yiisoft\Middleware\Dispatcher\ParametersResolverInterface $resolvers )
$resolvers Yiisoft\Middleware\Dispatcher\ParametersResolverInterface

                public function __construct(ParametersResolverInterface ...$resolvers)
{
    $this->resolvers = $resolvers;
}

            
resolve() public method

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);
}