Persistente Entitäten, die eine REST-API verwenden

Für ein Projekt in Symfony2 muss ich in der Lage sein, Entitäten mithilfe einer externen RESTful-API anstelle der Datenbank beizubehalten / abzurufen. Da Doctrine die Entität einer Zeile einer Datenbanktabelle zuordnet, sollte es einfach sein, eine Zuordnung von der Entität zu einer externen API zu erstellen. Dies ist jedoch neu für mich und ich kann anscheinend keine Beschreibungen / Tutorials dazu finden. (Vielleicht fehlen mir die richtigen Wörter für mein Google-fu)

Ich hatte gehofft, dass es eine Lösung gibt, die der Lehre ähnelt. Ich würde lieber nichts basierend auf dem ActiveRecord-Muster verwenden, da ich möchte, dass die Persistenzlogik von den Entities getrennt wird. Die Entität sollte nicht wissen, wie es bestehen bleibt.

Ich möchte in der Lage sein, etwas Ähnliches zu tun:

$entity = new Entity();

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

und das:

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

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

und das:

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

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

Mit anderen Worten, es wäre schön, wenn die Syntax fast identisch mit der von Doctrine wäre.

Darüber hinaus möchte ich das Mapping in einer externen Datei (z. B. YAML) anstatt durch Anmerkungen in der Entität konfigurieren. (Wie gesagt, die Entitäten sollten nicht wissen, wie sie bestehen bleiben)

Vergessenbas Einige Lösungen wurden bereits erwähnt, aber sie erfüllen meine Anforderungen nicht vollständig, und ich würde erwarten, dass es weitere Lösungen geben wird, da ich sicher nicht der erste bin, der dieses Problem angehen muss.

Kann mich jemand in die richtige Richtung weisen?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage