DevCraft Документации
РазработкиDevCraft Dev ToolsСправочникMapper

ReflectionMapper v1.0.0

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

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

Namespace: Devcraft\Mapper

С версии: 1.0.0

См. также:

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

Параметры:

  • $logger (LoggerInterface): логгер сбоев валидации/конверсии
  • $validator (PropertyValidator): опциональный кастомный валидатор

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

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

Исключения: ValidationException

toArray(object $source): array

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

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

  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 не поддерживаются.

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