Symfony vs CakePHP



Answers

  • Die CakePHP-Philosophie ähnelt Ruby on Rails.
  • CakePHP ist besser für mittlere Projekte.
  • CakePHP ist schneller zu lernen.
  • CakePHP ist leichter als Symfony.
  • Die Datenbankinteraktion von CakePHP verwendet CRUD.
  • CakePHP verwendet das Testsystem PHPUnit.
  • Ist interessant in CakePHP Backen und Gerüstbau.
  • Die Philosophie von Symfony ist, dass jede Version anders ist.
  • Symfony ist langsamer zu lernen.
  • Symfony's eignet sich am besten für große Projekte.
  • Die Datenbankinteraktion von Symfony verwendet Doctrine.
  • Symfony verwendet das Testsystem PHPUnit.
  • Ist interessant in Symfony's Bundles und Templates.
Question

Was ist konzeptionell der Unterschied zwischen symfony und cakephp?




Ein Unterschied ist mehr: Symfony in 3 Umgebungen aufgeteilt: Entwicklung, Produktion und Test - CakePHP kann nicht! Es ist einfach, ein Produkt gleichzeitig zu entwickeln und zu testen




Einige der Behauptungen über CakePHP und die obigen Einschränkungen sind einfach nicht richtig. Die Abfrage ist möglich. Du musst nur wissen, wie es gemacht wird. Die "Automagic" von CakePHP ist SUPER schön, so dass Sie schnell auf den Boden gehen können. Es ist BY FAR der SCHNELLSTE Rahmen für die Entwicklung (daher ist es so sehr nach RoR modelliert, was offensichtlich ein großer Erfolg war). Es gibt komplexere Verhaltensweisen zum Abrufen von Daten, die unterschiedlich zurückgegeben werden, und einige dieser komplexeren Abfragen mit einigen kurzen Methodenaufrufen und angegebenen Array-Parametern.

Jedoch. Soweit ich das beurteilen kann, hat kein anderes Framework so viele "automagische" Methoden und Klassen. Cake übernimmt die gängigsten Aufgaben und bietet einen einfachen Weg, um es zu erledigen. Wenn Sie wirklich clever sind, werden Sie den Großteil Ihrer Programmierung auf Modellebene durchführen und die app_model- und app_controller-Datei verwenden sowie eine äußerst effiziente Anwendung verwenden.

Die Konsole ist großartig und erweitert sich ständig. Die Community ist wirklich erstaunlich und es gibt viele Beiträge, die dir helfen, die Dinge noch schneller ins Rollen zu bringen. Sie können buchstäblich "Stücke" entwerfen und dann an Ort und Stelle bewegen, um eine App sehr schnell zu erstellen, da das meiste von dem, was Sie benötigen, verfügbar ist. Du bekommst das mit keinem anderen Framework. Sie müssen viel mehr Zeit für die Codierung verbringen.

Zuletzt. Während die Dokumentation hinterherhinkt, ist es jetzt viel besser und während Cake auch einige harte Reviews während dieses Mangels an Dokumentation und Version 1.1 erhielt ... Es war immer noch gut, nur streng übersehen. Mit 1.2 und jetzt Cake2 und Cake3 am Horizont ... Sie werden sehen, dass sich viele Meinungen ändern.

Ich habe CakePHP seit 1.1 benutzt. Ich glaube fest daran. Ich habe es für riesige Firmenseiten verwendet. Diese erhalten Millionen und Abermillionen von Treffern pro Tag ... Wir sind außerhalb von Dingen wie WordPress und Drupal für Lösungen. Wenn Sie für eine CMS-Site auf diese Ebene kommen, bin ich sehr froh, CakePHP darauf zu haben. Ebenso helfen Ihnen Symfony und CodeIgniter bei der Skalierung. Ich kann auch nichts Schlechtes über diese Rahmen sagen. Ich kann nur sagen, dass du weniger Zeit mit dem Programmieren verbringen wirst und eine größere Community (und einen super freundlichen IRC-Kanal) mit CakePHP finden wirst.




Neben den vorhandenen Antworten sollten Sie beide versuchen, wenn möglich. Ich benutze beide ziemlich viel und bin seit einiger Zeit lieber Symfony.

aber ich bin ziemlich überzeugt, dass es nicht weil das eine oder andere besser ist, sondern weil Symfony passiert, um die Art, wie mein Verstand besser funktioniert, es näher an das, was ich tue, wenn ich Software außerhalb eines Rahmens schreibe, so fühlt sich intuitiver. Ich erwarte, dass andere ihre Meinung zu dem Paradigma eines anderen Frameworks finden.

Allerdings denke ich, dass die Objekte von CakePHP eine Schwäche sind, durch die Verwendung von Arrays anstelle von Objekten. (Dies ist etwas, das sich periodisch zu einem intensiven Hass in mir entwickelt, wann immer ich etwas tun muss, was es schwer macht ...!) Sie könnten genau dasselbe tun, aber Objekte anstelle von Arrays zurückgeben, um Daten darzustellen, und ich denke die meisten davon Die Probleme, die ich habe, würden verschwinden - Sie könnten den Datenobjekten zusätzliche Funktionalität hinzufügen, um die Dinge zu erreichen, die ich tun möchte, anstatt Funktionen in der vorhandenen Modellklasse zu schreiben und ihnen ein Array zu übergeben.






Links