Сохранение сущностей, использующих REST API

Для проекта в Symfony2 мне нужно иметь возможность сохранять / извлекать объекты, используя внешний RESTful API вместо базы данных. Поскольку Doctrine отображает сущность в строку таблицы базы данных, я подумал, что будет легко создать сопоставление сущности и внешнему API. Тем не менее, это ново для меня, и я не могу найти какие-либо описания / учебники по этому поводу. (возможно, мне не хватает подходящих слов для моего Google-фу)

Я надеялся, что есть решение, подобное Доктрине. Я бы предпочел не использовать что-то на основе шаблона ActiveRecord, потому что я хочу, чтобы логика персистентности была отделена от сущностей. Сущность не должна знать, как она сохраняется.

Я хочу иметь возможность сделать что-то похожее на это:

$entity = new Entity();

$em = $this->getREST()->getManager(); // get REST Entity Manager
$em->persist($entity); // save the entity using a POST request
$em->flush();

и это:

$em = $this->getREST()->getManager(); // get REST Entity Manager

// retrieve the entity using a GET request
$entity = $em->getRepository('AcmeDemoBundle:Entity')->find($id);

и это:

$em = $this->getREST()->getManager(); // get REST Entity Manager

// retrieve all entities using a GET request
$entities = $em->getRepository('AcmeDemoBundle:Entity')->findAll();

Другими словами, было бы неплохо, если бы синтаксис был почти идентичен синтаксису Doctrine.

Кроме того, я хотел бы настроить отображение во внешнем файле (например, YAML) вместо аннотаций в сущности. (Как я уже сказал, сущности не должны знать, как они сохраняются)

Forgottenbas Я уже упоминал пару решений, но они не полностью удовлетворяют моим требованиям, и я ожидаю, что будет больше решений, так как я уверен, что я не первый, кто должен решать эту проблему.

Кто-нибудь может указать мне правильное направление?

Ответы на вопрос(3)

Ваш ответ на вопрос