REST-Webservices: Symfony 2 vs silex [geschlossen]

8

Wir werden eine Reihe von REST-Webdiensten in PHP implementieren. Dafür haben wir 2 Frameworks ausgewählt: Symfony 2 und Silex (Mikro-Framework als Phar- Archiv, basierend auf Symfony2).

Im Moment wird es nur ein paar Dienste geben, mit ein paar Ressourcen, die als GET zurückgegeben werden, aber der Methodensatz wird schließlich wachsen und andere Restaktionen beinhalten (put / post / delete).

Hier ist die Liste der Vor- und Nachteile, die ich bisher für diese 2 Frameworks bekommen habe

Symfony2

Pros:

  • mächtiger
  • Lehre ORM
  • kann mit XDebug debuggen
  • Konfiguration in YML
  • mehr in der Gemeinschaft verwendet
  • mehr Unterstützung
  • Autovervollständigung in IDE
  • schnell

Nachteile:

  • Brauche FOSBundle, um REST (?) zu machen (eigentlich würde ich gerne wissen, ob das wirklich nützlich ist)

Silex

Pros:

  • leichtgewichtig
  • scheint einfacher zu sein, REST-URLs (?)
  • zu erstellen
  • einfacher zu implementieren (Phar Archiv)

Nachteile:

  • keine Doktrin ORM
  • kann nicht debuggen (phar archive)
  • keine automatische Vervollständigung in IDE
  • config muss fest codiert sein
  • kann etwas langsamer sein, wie es in einem Phar-Archiv ist?

Welches ist Ihrer Meinung nach das Beste?

Danke

    
David 17.04.2012, 11:54
quelle

2 Antworten

12

Persönlich mag ich Symfony 2 sehr, es ist einfach, REST-URLs mit der Annotationssyntax zu erstellen, in Ihrem Controller setzen Sie etwas wie

%Vor%     
mcfedr 17.04.2012, 12:11
quelle
16

Hängt von der Größe Ihres Projekts ab und da Sie angegeben haben, dass es ziemlich klein ist, hätte ich Silex gewählt.

Fast alle Nachteile, die Sie für Silex angeben, sind ausgeschlossen, wenn Sie silex durch den Komponisten einbeziehen. Dann lädt es nur die Silex-Abhängigkeit innerhalb von Anbietern und Sie haben weder den Overhead des Phars noch den Mangel an Code-Vervollständigung in Ihrer IDE. Tatsächlich ist die PHAR-Distribution veraltet .

Wie bei Doctrine hat Silex einen Doctrine ServiceProvider , der Doctrine DBAL nahtlos in Silex lädt Projekt. Sie können DoctrineORM einfach selbst hinzufügen oder eines der 3rd party serviceProviders auf GitHub gefunden.

Ich baue eine ziemlich große REST-API mit Silex und habe nicht eine einzige Sache bereut, die mit Silex angefangen hat. Sie erhalten viele der Vorteile der Symfony2-Komponenten, da Silex mit ihnen gebaut wird und einen sehr leichten Rest-ready-Mikrorahmen hat, ohne stundenlange Yaml-Konfiguration und -Einrichtung durchlaufen zu müssen.

Und um ehrlich zu sein, muss ich zugeben, dass ich kein großer Fan der Annotationen bin, Anmerkungen sind in Ordnung, aber ich denke, die Beispiele sind @mcfedr nehmen es ein wenig zu weit, aber das ist nur persönlicher Geschmack.

Ich hoffe, ich habe einige der Vorurteile gegenüber Silex entlarvt. Lass es schwingen, du wirst es nicht bereuen. Auf der anderen Seite werden Sie Symfony2 wahrscheinlich auch nicht bereuen:)

    
ChrisR 05.07.2012 06:38
quelle

Tags und Links