Du hast eine Frage? Stell sie der t3n-Community!

? Beispielfragen

Um selbst eine Frage online zu stellen, melde dich bitte an.

Zur Anmeldung

PHP-Framework für Webapplikationen - Beispiel Adressverwaltung.

18 Punkte

von benedikt  Rookie  vor ca einem Jahr

Ich möchte meine Adressverwaltung, die bisher über eine Access-Datenbank läuft – neu programmieren. Dazu schwebt mir eine Server-basierte Lösung auf PHP/MySQL-Basis vor. Ich habe bereits mit dem MVC-Ansatz gearbeitet, und möchte diesen auch hierzu verwenden. Allerdings fehlt mir noch das geeignete Framwork.

Welches ist da geeignet – es sollte intuitiv zu erlernen sein und den Codeaufwand möglichst gering halten. Wichtig wäre mir eine Datenversionierung.

Nachträglich bearbeitet am 10.07.10 15:09

9 Antworten

4 Punkte

von rbq.  Nerd  vor ca einem Jahr

symfony wäre meine persönliche Präferenz. Das Projekt hat eine hervorragende Dokumentation inkl. einiger Bücher. In deutscher Sprache lässt es etwas nach, es gibt aber trotzdem ausreichend Material. Es gibt Generatoren für ein einfaches CRUD-Interface als Ausgangsbasis (oder ein fertiges, aber nicht so gut modifizierbares, Admin-Interface) und für Propel ein Plugin, das einem Model Versionsierung als Verhalten hinzufügt (sfPropelVersionableBehaviorPlugin). Der Nachteil ist evtl., dass symfony recht stark auf Professionalität und Best-Practices abzielt, man sollte z. B. keine Scheu vor der Shell mitbringen und Zugriff auf den Server haben.

Zend Framework ist gut dokumentiert und außerdem durch Veröffentlichungen diverser Verlage auch in deutscher Sprache prima abgedeckt. Vorteil ist, dass dieses Projekt am ehesten einem Industriestandard nahe kommt, so dass das Erlernen auf jeden Fall eine gute Investition ist. Nachteil könnte sein, dass es von den genannten am wenigsten “frameworkig” ist. Die losere Koppelung der Komponenten bedeuten einerseits mehr Freiheit, andererseits ist evtl. mehr Hirnschmalz zum Entwurf von Dingen nötig, die bei den anderen Tools vorgegeben sind.

CakePHP ist wohl das “Joomla” unter den Frameworks, am ehesten für Hobbyisten geeignet und sollte problemlos auf dem Webspace vom Massenhoster laufen. Mit CodeIgniter verhält es sich ähnlich. Ich gebe allerdings zu, dass ich bei diesen Kandidaten mehr Vorurteile als Wissen habe.

Eine sinnvolle Option wäre in einigen Projekten vllt. noch Silverstripe. Die Dokumentation ist eher bescheiden, und das einzige erhältliche Buch glänzt auch nicht gerade durch einen logischen Aufbau. Dafür gehen Modellierung und Templating flott von der Hand und man bekommt ein CMS drum herum für lau.

Nachträglich bearbeitet am 07.07.10 08:54

TEAM

2 Punkte

von t.quensen  Geek  vor ca einem Jahr

Ein relativ leicht zu lernendes Framework ist CodeIgniter, eine mächtigere Alternative wäre Symfony… hier ist der Einstieg vergleichsweise kompliziert, die spätere Arbeit dafür sehr schnell und einfach.

Versionisierung können beide mit Hilfe von Doctrine (ist bei Symfony Standard, und kann bei CodeIgniter leicht nachinstalliert werden)

In deinem Fall würde ich dir erstmal CodeIgniter empfehlen, auch weil dein Projekt recht simpel aussieht!
Wenn du dafür allerdings viel Zeit hast solltest du dir (auch) Symfony anschauen – wenn manns erstmal beherrscht will man nicht mehr Ohne ;)

Nachträglich bearbeitet am 06.07.10 16:44

2 Punkte

von ludwig99  Nerd  vor ca einem Jahr

symfony wäre auch meine Empfehlung, wir haben damit u.a. auch eine Adressverwaltung realisiert. Das Framework ist modern und gut dokumentiert!

Nachträglich bearbeitet am 06.07.10 16:44

0 Punkte

von tacker  Geek  vor ca einem Jahr

Schau dir mal CakePHP an.

Nachträglich bearbeitet am 07.07.10 13:03

0 Punkte

von virtualmachine  Geek  vor ca einem Jahr

Ich würde ebenfalls Symfony empfehlen. Der Einstieg ist ein wenig komplex, aber das Projekt hat eine sehr umfangreiche Dokumentation.

0 Punkte

von benedikt  Rookie  vor ca einem Jahr

Vielen Dank für euern Input. Ich werde mich wohl mit Symfony beschäftigen.

Silverstripe verwende ich bereits für ein Webseiten-Projekt, für eine Webapplikation ist es meines Erachtens aber zweite Wahl. – Du hast recht, rbq, wenn du sagst, es sei schlecht dokumentiert, aber für Webseiten ist es bestens geeignet und erfordert nur wenig Einarbeitung. Es gibt halt viele Features, die man nur entdeckt, wenn man sich mal in den Chat oder ins Forum begibt und dort liest und mitschreibt.

0 Punkte

von hirngerichtet  Newbie  vor ca einem Jahr

Ich empfehle weiter noch das yii-Framework oder auch KohanaPHP. Letzteres wäre ein CodeIgniter fork.

cheers

0 Punkte

von fcool  Newbie  vor ca einem Jahr

In Deutschland noch weitestgehend unbekannt, aber ein absolut überzeugendes Framework ist:
QCubed
http://qcu.be

Es erinnert stark an Symfony, nutzt jedoch statt eines auf Meta-Programmierung-basierenden Ansatz einen Codegenerator, der aus den eigenen Tabellen einen wunderschönes Klassenmodell generiert.

Ich kann jedem wärmstens empfehlen mal einen Blick in die Screencasts zu werfen. Ich selbst habe mit Symfony begonnen. Seit dem ich qcu.be kenne, konnte ich mich mit keinem Framework mehr anfreunden.
Aus meiner Sicht ist das absolute Alleinstellungsmerkmal, dass die üblichen Anforderungen von “Webprogrammierung” (Cookies, Requests, etc) so gut gekapselt werden, dass man tatsächlich einfach eine Anwendung schreibt und Ereignisse definiert. Dabei bleibt es in all meinen bisherigen Anwendungszenarien performant und gut wartbar.

Viel Erfolg!

0 Punkte

von fcool  Newbie  vor ca einem Jahr

Kurzer Nachtrag:
Besonders zu bemerken ist auch, dass es sich zum Beispiel nahtlos mit anderen Frameworks kombinieren lässt. Ich habe sehr gute Erfahrungen gemacht, einzelne Funktionen aus dem ZendFramework oder ezComponents zu integrieren.

Antwort schreiben

Um eine Antwort schreiben zu können, sollest du dich zuvor anmelden.

Zur Anmeldung