plain-to-class v2

This hydrator transforms your data into a typed object.

Введение

Эта библиотека позволит вам легко преобразовать любой набор данных в нужный вам объект. От вас не требуется менять структуру классов, наследовать их от внешних модулей и т.д. Никаких танцев с бубнами — только данные и нужный класс.

Хорошей практикой считается написание кода независимого от сторонних пакетов и фреймворков. Код разбивается на сервисы, доменные зоны, различные слои и т.д. Для передачи данных между слоями, как правило, используется шаблон DataTransfer Object (DTO). DTO — это объект, который необходим для инкапсуляции данных и отправки их из одной подсистемы приложения в другую.

Таким образом, сервисы/методы работают с конкретным объектом и данными необходимым для него. При этом неважно, откуда эти данные были получены — это может быть http запрос, БД, файл и т.д.

Соответственно, при каждом вызове сервиса нам необходимо инициализировать данное DTO. Но сопоставлять каждый раз данные вручную — неэффективно, и сказывается на читабельности кода, особенно если объект сложный.

Здесь на помощь приходит данный пакет, который берёт на себя всю работу с мапингом и инициализацией необходимой DTO.