Как правильно конвертировать csv в объекты с помощью компонента сериализатора symfony

Я уже некоторое время использую компонент сериализатора JMS, и это довольно удобно, но я хотел посмотреть, возможно ли использовать symfony/serializer компонент вместо

Если я правильно понял, компонент в основном состоит из (де) нормализаторов и (де) сериализаторов. В настоящее время я работаю над импортом записей, которые я получаю в виде файла csv с одной строкой заголовка, а остальные являются фактическими данными.

Теперь есть пара вопросов. Мой CSV-файл содержит список пользователей, но в конце я хочу получить массив десериализованных пользователей, поэтому, думаю, я не смогу получить желаемый результат за один шаг. Вместо этого я сначала использую денормализатор и преобразовываю свой csv в многомерный массив, перебираю его и десериализую объекты из всех строк, шаг за шагом. Имеет ли это смысл?

Далее я спрашиваю себя, чтобы реализовать пользовательский конвертер имен. Опять поправьте меня, если я ошибаюсь, но ObjectNormalizer использует symfony/property-accessкомпонент для получения / установки свойств и, следовательно, имена атрибутов входящих данных и объекта, который я хочу десериализовать, должны быть одинаковыми, верно?

Если это так, имеет ли смысл реализовывать преобразователь имен для сопоставления имен атрибутов в csv с именами свойств в моем объекте? В моем CSV у меня есть некоторые странные имена атрибутов, такие как CHRISTIANNAME который должен быть первым именем. Конечно, в моем десериализованном объекте я хочу иметь осмысленные имена свойств. Я знаю, что с сериализатором JMS можно использовать аннотации и определять отображение там. Является ли пользовательский преобразователь имен подходящим для использования при использовании сериализатора Symfony или есть более простой способ?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]