СправочникМаппер
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())
Параметры:
| Параметр | Тип | Описание |
|---|---|---|
$logger | LoggerInterface | Логгер сбоев валидации/конверсии |
$validator | PropertyValidator | Опциональный кастомный валидатор. По умолчанию: new PropertyValidator() |
hydrate(object $target, array $data): object
Описание: Гидратирует public-свойства $target из $data. Собирает ошибки; при непустой карте бросает ValidationException.
Параметры:
| Параметр | Тип | Описание |
|---|---|---|
$target | object | DTO или любой объект с public-свойствами |
$data | array | Входной ассоциативный массив |
Возвращает: object — $target
Исключения:
toArray(object $source): array
Описание: Экспорт инициализированных public-свойств. Вложенные AbstractReflection и массивы нормализуются рекурсивно.
Параметры:
| Параметр | Тип | Описание |
|---|---|---|
$source | object | Источник сериализации |
Возвращает: array
Поток гидратации свойства
- Missing /
null→ null fallback (default /null/is required) - Конверсия по declared type (+ nested DTO /
ArrayOf) PropertyValidator::validateValue- При сбое на nullable — свойство =
null+ log; иначе путь в error map
Union/intersection property types не поддерживаются.