0 follower

Final Class Yiisoft\Hydrator\Validator\ValidatingHydrator

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

ValidatingHydrator is a decorator for HydratorInterface:

  • it allows to validate raw data of properties marked with \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 __construct( \Yiisoft\Hydrator\HydratorInterface $hydrator, \Yiisoft\Validator\ValidatorInterface $validator, Yiisoft\Hydrator\Validator\Attribute\ValidateResolver $validateResolver ): mixed
$hydrator \Yiisoft\Hydrator\HydratorInterface

Hydrator to decorate.

$validator \Yiisoft\Validator\ValidatorInterface

Validator to use.

$validateResolver Yiisoft\Hydrator\Validator\Attribute\ValidateResolver

Resolver for \Yiisoft\Hydrator\Validator\Validate attribute.

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

            
create() public method

public create( string $class, array|\Yiisoft\Hydrator\DataInterface $data = [] ): object
$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 hydrate( object $object, array|\Yiisoft\Hydrator\DataInterface $data = [] ): void
$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);
}