0 follower

Final Class Yiisoft\RequestModel\Attribute\RouteResolver

InheritanceYiisoft\RequestModel\Attribute\RouteResolver
ImplementsYiisoft\RequestModel\Attribute\HandlerParameterResolverInterface

Method Details

Hide inherited methods

__construct() public method

public mixed __construct ( \Yiisoft\Router\CurrentRoute $currentRoute )
$currentRoute \Yiisoft\Router\CurrentRoute

                public function __construct(private CurrentRoute $currentRoute)
{
}

            
resolve() public method

public mixed resolve ( Yiisoft\RequestModel\Attribute\HandlerParameterAttributeInterface $attribute, \Psr\Http\Message\ServerRequestInterface $request )
$attribute Yiisoft\RequestModel\Attribute\HandlerParameterAttributeInterface
$request \Psr\Http\Message\ServerRequestInterface

                public function resolve(HandlerParameterAttributeInterface $attribute, ServerRequestInterface $request): mixed
{
    if ($attribute::class !== Route::class) {
        throw new \InvalidArgumentException(sprintf('Expected "%s", got "%s".', Route::class, $attribute::class));
    }
    return $this->currentRoute->getArgument($attribute->getName()) ?? throw new ValueNotFoundException();
}