Учитывая, что я уже получил пару строк в виде массива через внешнюю службу. В приложении PHP, построенном на Symfony2 и Doctrine.
Как мне продолжить и сопоставить эти данные с моделями, чтобы я мог использовать всю существующую бизнес-логику?
* примечание: * Я не хочу самостоятельно выполнять рефлексию для частных полей или изменять модели.
Я попытался изучить внутреннее устройство доктрин, но многое, похоже, тесно связано с логикой запросов. И я понимаю, что могу реализовать фабричный метод для создания экземпляра модели на моем наборе данных, но мне кажется, что у меня уже есть все классы в папке поставщика, ожидающие использования.
Это именно то, что я ищу. Доступен ли он отдельно или с Symfony вместо Zend?






В 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');
Доктрина Гидратор - тот «инструмент», который вы ищете?