0 follower

Final Class Yiisoft\Input\Http\Attribute\Parameter\UploadedFilesResolver

InheritanceYiisoft\Input\Http\Attribute\Parameter\UploadedFilesResolver
ImplementsYiisoft\Hydrator\Attribute\Parameter\ParameterAttributeResolverInterface

Method Details

Hide inherited methods

__construct() public method

public __construct( \Yiisoft\RequestProvider\RequestProviderInterface $requestProvider ): mixed
$requestProvider \Yiisoft\RequestProvider\RequestProviderInterface

The request provider.

                public function __construct(
    private RequestProviderInterface $requestProvider,
) {}

            
getParameterValue() public method

public getParameterValue( \Yiisoft\Hydrator\Attribute\Parameter\ParameterAttributeInterface $attribute, \Yiisoft\Hydrator\AttributeHandling\ParameterAttributeResolveContext $context ): \Yiisoft\Hydrator\Result
$attribute \Yiisoft\Hydrator\Attribute\Parameter\ParameterAttributeInterface
$context \Yiisoft\Hydrator\AttributeHandling\ParameterAttributeResolveContext

                public function getParameterValue(
    ParameterAttributeInterface $attribute,
    ParameterAttributeResolveContext $context,
): Result {
    if (!$attribute instanceof UploadedFiles) {
        throw new UnexpectedAttributeException(UploadedFiles::class, $attribute);
    }
    $files = $this->requestProvider->get()->getUploadedFiles();
    $name = $attribute->getName() ?? $context->getParameter()->getName();
    if (!ArrayHelper::pathExists($files, $name)) {
        return Result::fail();
    }
    return Result::success(ArrayHelper::getValueByPath($files, $name));
}