0 follower

Final Class Yiisoft\Hydrator\Validator\ValidatingHydrator

InheritanceYiisoft\Hydrator\Validator\ValidatingHydrator
ImplementsYiisoft\Hydrator\HydratorInterface

ValidatingHydrator is a decorator for {@see HydratorInterface}:

  • it allows to validate raw data of properties marked with {@see \Yiisoft\Hydrator\Validator\Validate} PHP attribute before passing it to the decorated hydrator;
  • it allows to validate object after creating or populating it.

Method Details

Hide inherited methods

__construct() public method

public mixed __construct ( \Yiisoft\Hydrator\HydratorInterface $hydrator, \Yiisoft\Validator\ValidatorInterface $validator, Yiisoft\Hydrator\Validator\Attribute\ValidateResolver $validateResolver )
$hydrator \Yiisoft\Hydrator\HydratorInterface

Hydrator to decorate.

$validator \Yiisoft\Validator\ValidatorInterface

Validator to use.

$validateResolver Yiisoft\Hydrator\Validator\Attribute\ValidateResolver

Resolver for {@see \Yiisoft\Hydrator\Validator\Validate} attribute.

                public function __construct(
    private HydratorInterface $hydrator,
    private ValidatorInterface $validator,
    private ValidateResolver $validateResolver,
) {
}

            
create() public method

public object create ( string $class, array|\Yiisoft\Hydrator\DataInterface $data = [] )
$class string
$data array|\Yiisoft\Hydrator\DataInterface

                public function create(string $class, array|DataInterface $data = []): object
{
    $result = $this->beforeAction();
    $object = $this->hydrator->create($class, $data);
    $this->afterAction($object, $result);
    return $object;
}

            
hydrate() public method

public void hydrate ( object $object, array|\Yiisoft\Hydrator\DataInterface $data = [] )
$object object
$data array|\Yiisoft\Hydrator\DataInterface

                public function hydrate(object $object, array|DataInterface $data = []): void
{
    $result = $this->beforeAction();
    $this->hydrator->hydrate($object, $data);
    $this->afterAction($object, $result);
}