Сохранение сущностей, использующих 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 Я уже упоминал пару решений, но они не полностью удовлетворяют моим требованиям, и я ожидаю, что будет больше решений, так как я уверен, что я не первый, кто должен решать эту проблему.
Кто-нибудь может указать мне правильное направление?