2009-06-17 9 views
7

Ich bin dabei, eine große klinische Anwendung für das Gesundheitswesen mit PHP zu erstellen, und ich bin auf der Suche nach einem Ratschlag für ein Framework. Ich muss in der Lage sein, einen schnellen Prototyp zu entwickeln, deshalb ist es wichtig, dass das Framework viele alltägliche Aufgaben erledigt; Daher habe ich es auf CakePHP oder Symfony beschränkt.Welches PHP MVC Framework für das Unternehmen; CakePHP oder Symfony?

Ich hoffe, ein paar Entwickler Meinungen zu bekommen, die mit beiden Frameworks gearbeitet haben.

Danke, Pete

+0

Hallo allerseits, Zend ist nicht eine meiner Optionen. Zend_ACL ist kaputt und das schon lange. – slypete

+0

Es gibt einen guten Artikel darüber, wie man die ACL so benutzt, wie sie hier gedacht war: http://devzone.zend.com/article/3509 –

Antwort

6

IBM einen Artikel hier auf diese beiden Frameworks zusammen mit Zend in einem comparisson veröffentlicht, siehe:

http://www.ibm.com/developerworks/opensource/library/os-php-fwk1/?S_TACT=105AGX44&S_CMP=ART

ich persönlich CakePHP verwenden, es ist ziemlich genial im Vergleich zu nur gerade aus PHP. Einfach zu bauen, sehr MVC-fokussiert, sinnvolle Integration mit Komponenten von Drittanbietern. Ich hatte jedoch einige Probleme mit dem Fehlen jeglicher erkennbarer Upgrade-Pfade zwischen den Versionen. Ich kann nicht für Symfony sprechen, aber ich glaube, es ist mehr Schwergewicht als CakePHP.

Werfen Sie einen Blick auf die Screencasts für CakePHP als auch, sie einen guten Überblick geben:

http://cakephp.org/screencasts

+0

Sehr gute IBM Ressource Danke! – slypete

3

Ich empfehle für this question die richtige Antwort zu lesen. Es erwähnt Zend Framework als die beste Wahl und stellt einige korrekte Punkte vor, um es zu rechtfertigen.

+0

Ja, es ist eine großartige Antwort: P –

+0

Sehr einverstanden. – Tom

+0

Danke, aber Zend war nicht einer der Rahmenbedingungen, nach denen ich gefragt habe. Ich kann Zend nicht benutzen, da es in Zend_ACL seit einiger Zeit einen Bug gibt. – slypete

0

ich minimale Erfahrung mit beiden Frameworks hatte, aber alles, was ich schon immer über symfony hörte, war Beschwerden (obwohl es scheint eine Tonne verwendet werden!). Wahrscheinlich nur, dass die Leute nicht die Zeit verbringen, um den Rahmen vollständig zu lernen.

Aus meiner Erfahrung scheinen beide anständige Frameworks zu sein, aber wie jeder gute Entwickler müssen Sie mindestens das Abstraktionsniveau verstehen, das unter dem liegt, was Sie verwenden, um effektiv zu sein.

+0

Ich liebe symfony! (Jetzt haben Sie noch etwas anderes als Komplimente gehört ;-) – phidah

0

ich nicht anderen Frameworks verwendet haben, aber ich benutze Zend Framework und es ist großartig. Vorteile sind:

  1. sauber und Standard-Bibliothek, Codierung Stil, Tagungen, usw.
  2. Enterprise Support: Es wird von Zend unterstützt wird, das Unternehmen, dass jeder PHP-Programmierer weiß
  3. umfassendes Handbuch, viele Blog-Posts und Tutorials, mindestens 2 gut geschriebene Bücher
  4. Pakete auf den meisten Open-Source-Betriebssystemen hat, so leicht
  5. ein sehr leben Open-Source-Projekt, Updates kommen Sie so bald nicht zu ihnen halten zu installieren und zu warten.
  6. offene Lizenz: ZF nutzt BSD-ähnlichen Lizenz, so dass Sie nicht viele Lizenzfragen
5

ich begegnen möchte oben präsentierten einige der Argumente haben. Ich habe intensiv mit Zend Framework und symfony gearbeitet und ich habe mir CakePHP kurz angesehen.

Zunächst einmal ist die ZF-Dokumentation im Vergleich zu symfony nicht "extensiv", sondern eher oberflächlich. Zweitens denke ich, dass die Symfony-Community viel verfügbarer und hilfreicher ist als das ZF-Framework im Allgemeinen und der Entwicklungsprozess viel transparenter ist.

Ich stimme jedoch zu, dass Zend Framework den Vorteil genießt, von Zend unterstützt zu werden, was ein starkes Argument für Unternehmensprojekte sein könnte.

Nach meiner Erfahrung ist Symfony eher ein Framework als ZF. In Symfony verwenden Sie das ganze Paket - oder den ganzen Frame, während Sie in ZF Tools nach Ihren Wünschen verwenden können, so dass es mehr wie eine "Toolbox" als ein Framework ist.

Denken Sie auch daran, dass Sie, wenn Sie einige der Tools in ZF mögen, diese in symfony (und wahrscheinlich auch in CakePHP) Projekten neben symfony/CakePHP verwenden können.

Dies ist nicht wirklich eine Antwort, sondern eher wie ein allgemeiner Kommentar zu den oben gegebenen Antworten.

+2

Mit dem Kommentar "Toolbox" einverstanden. CakePHP ist auch sehr ein volles Framework - das ist vielleicht der Grund, warum es in Benchmarks schlechter abschneidet (es durchläuft bei jeder Anfrage eine vollständige Instanziierung, während ZF nur einige Module lädt). Und die meisten Benchmarks messen nur eine Hello-World-Type-Anwendung. –

0

Meine Rahmenentscheidungen gehen darauf hinaus (beachte, dass ich hauptsächlich Cake, wenig Zend, verwende und mit CodeIgniter und symfony herumgespielt habe).

Zend ist am meisten Unternehmen. Sie bekommen die Leute @ Zend unterstützt es - ich denke, es ist Entwicklungszeitlinie ist die solideste Weiterentwicklung. Es hat auch einige großartige Module wie PDF-Reader, etc.

CakePHP Fokus (IMO) ist eine schnelle Entwicklung. Aber es ist immer eine der schlechtesten Performance-Zeiten - wenn Sie eine stark genutzte App haben, denke ich, dass Paul M Jones einige Posts zu Benchmarks hat. Zend ist etwa 2-2,5x schneller als Cake, IIRC. Wenn Sie nicht MVC-Erfahrung haben, kann Cake eine gute Wahl sein, b/c es def. Sperrt Sie in MVC. Ich muss jedoch immer wieder über ihr Muster nachdenken - weshalb ich langsam nach Zend ziehe.

Auch die anderen Frameworks haben unterschiedliche Stärken. Bei PHP | Tek in Chicago war CodeIgniter die Rede von der Konferenz, also könnte es in den nächsten ein oder zwei Jahren viel Schwung haben.

Kuchen und Zend auch haben super enge Integration mit einigen anderen enterprisey Sachen wie Unit-Tests usw.

2

mich beginnen Lassen Sie sagen, ich habe keine Erfahrung mit CakePHP oder Zend andere als um im Rahmen Code durchsucht haben und ihre Dokumentation. Ich habe Symfony vor etwa 15 Monaten benutzt und recherchiert, welches Framework zu verwenden ist. Ich habe mich für Symfony entschieden, weil ich den Symfony-Kern auf eine nette und ordentliche Weise gefunden habe. Es fühlte sich an, als könnte ich den Rahmen leicht verstehen, indem ich den Code selbst lese. Außerdem habe ich eine enorme Menge an Dokumentation gefunden, die sich wirklich darauf konzentriert, mit dem Framework zu arbeiten, um bestimmte Funktionalitäten zu erzeugen. Sehr pragmatisch sozusagen. CakePHP passt einfach nicht zu meinem persönlichen Stil und ich habe den Kern als sehr hacky empfunden. Wieder könnte ich mich irren, aber so fühlte ich es damals. Nach 15 Monaten Coding mit Symfony bin ich immer noch sehr zufrieden. Oft liest du Kommentare oder Blogs, die sagen, dass es zu kompliziert ist. Ich denke, diese Leute beleidigen ihre eigene Intelligenz. Es dauert in der Tat eine Weile, bevor Sie ein festes Verständnis für die Interna und Ansätze zu Problemen haben, aber sobald Sie über diesen Punkt hinaus sind, ist es wirklich ein großartiges Tool. Die Gemeinschaft ist sehr hilfreich und die Zukunft sieht gut aus. Alles in allem kann ich Ihnen nur raten, mit Ihrem Bauchgefühl zu gehen, wenn Sie sich die Ansätze der Frameworks und deren Code- und Coding-Stile ansehen. Sie werden viel Zeit in diesen Frameworks verbringen, so dass Sie sich wohl fühlen müssen, wenn Sie ihren Code und ihre Lösungen für häufige Probleme betrachten. Jeder Rahmen da draußen ist furchtbar, wenn man anfängt, dagegen anzukämpfen, wird jeder von ihnen zu einem großartigen Werkzeug werden. Einige könnten am Ende besser ausfallen als die anderen.Ich nehme an, Sie werden die Antwort darauf selbst kennen, nachdem Sie Ihr Projekt damit abgeschlossen haben.

Viel Glück :-)

0

Definitiv Yü, haben wir es mehrmals für das Unternehmen und waren mit dem Ergebnis sehr zufrieden. Ich mag vor allem seine Erweiterungen wie Backvendor, Coco, Bootstrap. Für mich war Yii ziemlich einfach zu erlernen und zu implementieren. Versucht Kuchen php aber yii scheint viel klarer. Egal welchen Rahmen Sie verwenden, Sie müssen Ihre Kernkompetenzen kontinuierlich verbessern. Dies trägt dazu bei, den maximalen Nutzen aus dem von Ihnen verwendeten Framework zu ziehen.

Verwandte Themen