Как сопоставить предварительно выбранные данные с моделями в PHP?

Учитывая, что я уже получил пару строк в виде массива через внешнюю службу. В приложении PHP, построенном на Symfony2 и Doctrine.

Как мне продолжить и сопоставить эти данные с моделями, чтобы я мог использовать всю существующую бизнес-логику?

* примечание: * Я не хочу самостоятельно выполнять рефлексию для частных полей или изменять модели.

Я попытался изучить внутреннее устройство доктрин, но многое, похоже, тесно связано с логикой запросов. И я понимаю, что могу реализовать фабричный метод для создания экземпляра модели на моем наборе данных, но мне кажется, что у меня уже есть все классы в папке поставщика, ожидающие использования.

Доктрина Гидратор - тот «инструмент», который вы ищете?

odan 13.03.2018 21:14

Это именно то, что я ищу. Доступен ли он отдельно или с Symfony вместо Zend?

Maarten Bicknese 14.03.2018 11:16
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
30
1

Ответы 1

В Symfony у вас есть Компонент сериализатора.

Вы можете установить его как автономный компонент с помощью композитора:

composer require symfony/serializer

Сериализация объекта

$person = new \App\Entity\Person();
$person->setName('foo');
$person->setAge(99);
$person->setSportsman(false);

$jsonContent = $serializer->serialize($person, 'json');

// $jsonContent contains {"name":"foo","age":99,"sportsman":false}

echo $jsonContent; // or return it in a Response

Десериализация объекта

$person = $serializer->deserialize($jsonContent, \App\Entity\Person::class, 'json');

Другие вопросы по теме