Symfony2-Website und RESTful-API

8

Ich entwickle gerade eine Web-Anwendung, die stark von mobilen und Desktop-Clients abhängig ist, die den Webserver zur Information konsultieren. Dies kann gut erreicht werden, indem eine RESTful-API verfügbar gemacht wird, um dies zu handhaben. Meine Idee ist also, eine Anwendung zu haben, die als "Plattform" fungiert, die alle echten Geschäftslogik und Datenbankinformationen hinter den Kulissen abwickelt.

Mein Plan ist, die Plattform mithilfe von Symfony2- und OAuth 2.0-Authentifizierungsmechanismen in Verbindung mit RESTful-Webdiensten zu erstellen.

Jetzt kommt mein echtes Dilemma auf der Website-Komponente. Im Idealfall möchte ich die Website als einen weiteren Kunden betrachten, der diese REST-Plattform nach Informationen fragt und sie vollständig von der Plattform selbst trennt.

Um es etwas klarer zu machen, sagen wir, wir machen einen Blog mit dieser Architektur, also hätte man ein "Plattform / Backend", das einen Rest-Service zum Auflisten von Artikeln bietet, zum Beispiel: / articles / 5. Dies im Backend und mit symfony2 / doctrine bedeutet, dass die App eine Artikelmodellklasse hat, die von der DB angefordert werden kann. Ein einfacher Controller fragt nach der Artikelnummer 5 und gibt alle Informationen im JSON-Format zurück.

Nun könnte die Website in diesem Beispiel einfach die einfache Sache machen und auch eine Artikel-Entität haben und die Datenbank direkt abfragen, aber ich denke, es wäre sauberer, wenn sie einfach mit der Plattform über ihre REST-API sprechen und verwenden könnte diese Informationen als "Backend" für die Entitäten.

Die eigentliche Frage wäre also, ob es überhaupt möglich ist, diese Art von Design mit symfony2 zu unterstützen? Haben sich Entitäten auf eine REST-API für CRUD-Operationen verlassen? Oder ich bin einfach besser dran, die Plattform / Website zu einer einzigen Sache zu machen und ein "CoreBundle" mit all den generischen Entitäten zu teilen?

    
Xavier 27.09.2012, 19:59
quelle

2 Antworten

1

Es gibt nichts in Symfony, das verhindert, dass Sie das tun, was Sie wollen.

Auf der Clientseite können Sie Backbone.js oder Spine verwenden. js .

    
Elnur Abdurrakhimov 27.09.2012 20:05
quelle
1

Schauen Sie sich FosRestBundle an, es macht Ihr Leben viel einfacher, api zu erstellen: Ссылка

    
shacharsol 23.12.2013 11:11
quelle

Tags und Links