Final Class Yiisoft\Input\Http\HydratorAttributeParametersResolver
| Inheritance | Yiisoft\ |
|---|---|
| Implements | Yiisoft\ |
HydratorAttributeParametersResolver resolves middleware parameters with hydrator parameter attributes.
Public Methods
| Method | Description | Defined By |
|---|---|---|
| __construct() | Yiisoft\ |
|
| resolve() | Yiisoft\ |
Method Details
| public mixed __construct ( \ | ||
| $handler | \ |
The hydrator parameter attributes handler. |
| $typeCaster | \ |
The hydrator type caster that is used to prepare value returned by parameter attributes handler for middleware parameter. |
| $hydrator | \ |
The hydrator for context passed to type caster. |
public function __construct(
private ParameterAttributesHandler $handler,
?TypeCasterInterface $typeCaster = null,
?HydratorInterface $hydrator = null,
) {
$this->typeCaster = $typeCaster ?? new PhpNativeTypeCaster();
$this->hydrator = $hydrator ?? new Hydrator(typeCaster: $this->typeCaster);
}
| public array resolve ( array $parameters, \ | ||
| $parameters | array | |
| $request | \ |
|
public function resolve(array $parameters, ServerRequestInterface $request): array
{
$result = [];
foreach ($parameters as $parameter) {
$handleResult = $this->handler->handle($parameter);
if ($handleResult->isResolved()) {
$result[$parameter->getName()] = $this->prepareValue($handleResult, $parameter);
}
}
return $result;
}
User Contributed Notes
Leave a comment
Join the conversation to share a note.