DevCraft Документации
СправочникМаппер

ReflectionMapper v1.0.1

Гидратация и сериализация public-свойств DTO с валидацией.

Описание: Маппер public non-static свойств: конверсия типов, #[ArrayOf], запуск ValidationRule, сериализация в массив. Используется из AbstractReflection и может вызываться напрямую.

Namespace: Devcraft\Mapper

С версии: 1.0.0

См. также:

Методы

__construct(LoggerInterface $logger, PropertyValidator $validator = new PropertyValidator())

Параметры:

ПараметрТипОписание
$loggerLoggerInterfaceЛоггер сбоев валидации/конверсии
$validatorPropertyValidatorОпциональный кастомный валидатор. По умолчанию: new PropertyValidator()

hydrate(object $target, array $data): object

Описание: Гидратирует public-свойства $target из $data. Собирает ошибки; при непустой карте бросает ValidationException.

Параметры:

ПараметрТипОписание
$targetobjectDTO или любой объект с public-свойствами
$dataarrayВходной ассоциативный массив

Возвращает: object$target

Исключения:

toArray(object $source): array

Описание: Экспорт инициализированных public-свойств. Вложенные AbstractReflection и массивы нормализуются рекурсивно.

Параметры:

ПараметрТипОписание
$sourceobjectИсточник сериализации

Возвращает: array

Поток гидратации свойства

  1. Missing / null → null fallback (default / null / is required)
  2. Конверсия по declared type (+ nested DTO / ArrayOf)
  3. PropertyValidator::validateValue
  4. При сбое на nullable — свойство = null + log; иначе путь в error map

Union/intersection property types не поддерживаются.

На этой странице