Auswahl und Vergleich von PHP Frameworks inkl. Tutorial – Teil 2

1 Star2 Stars3 Stars4 Stars5 Stars (5 votes, average: 4.60 out of 5)
Loading...Loading...
Werbung

Im zweiten Teil meines Tutorials will ich das Projekt vorstellen und die Grundlagen vorbereiten.

Wie ich bereits im ersten Teil des Tutorials angekündigt habe, geht es bei dem Projekt um ein eigenes CMS (Content Management System) mit dem Projektnamen “Sym-CMS”.

Sym-CMS wird einige grundlegende Funktionen haben und kann quasi als Vorlage für weitere Projekte dienen. Aber schauen wir mal später was daraus wird.

Kein Projekt ohne Planung

Die Planung auch kleinerer Projekte ist sehr wichtig. Wenn man in einem Team arbeitet, dann ist es sogar unmöglich ein gutes Ergebnis ohne gute Projektplanung zu erzielen.

Ich programmiere Sym-CMS ganze alleine und brauche daher keine Rücksicht auf andere Teammitglieder nehmen.

Blow your Mind

Bei der Erstellung eines neuen Projektes fängt es immer an mit einer Idee. Diese wird dann nach und nach im Kopf erweitert oder und was ich persönlich gerne mache, ich benutze XMind. XMind ist ein Tool mit dem ich meine Gedanken festhalten kann.

Dabei entwickelt sich im Laufe der Zeit ein Ideenbaum, mit dem ich hinterher gut arbeiten kann.

In der Grundversion ist XMind völllig kostenlos und auch diese Version reicht vollkommen für meine Zwecke aus. Das Programm gibt es für Windows, Mac OS und Debian / Ubuntu.

Hier ein Beispiel zu dem Projekt Sym-CMS.

Die Zahlen in den farbigen Kreisen zeigen die Priorität an. Dies ist wichtig, wenn man ein Projekt schnell online stellen und weitere Funktionen später hinzufügen möchte.

Am Anfang ist es z. B. nicht nötig eine Benutzerverwaltung zur Verfügung zu stellen. Dies kann auch im zweiten Projektschritt nachgeholt werden.

Bei einem größeren Projekt würde die Mindmap noch wesentlich umfangreicher ausfallen. Man sollte sich einige Zeit lassen und evtl. sogar erst fortzufahren, wenn eine Woche lang keine neuen Ideen eingeflossen sind.

Werbung

Das Datenmodell

Nachdem ich das Projekt in XMind vorbereitet habe, geht es an das Erstellen des Datenmodells, also der Datenbank und der Tabellen.

Dies mache ich mit MySQL Workbench, welches auch kostenlos, für die verschiedenen Betriebssysteme, heruntergeladen werden kann.

Selbst wenn das PHP Framework welches wir verwenden dies nicht erfordert, hilft ein sogenanntest (E)ER Model oder ausgeschrieben (Enhanced) Entity Relationship Model bei den Planungen.

Bei einem (E)ER Model wird die Datenbank grafisch modelliert und die Abhängigkeiten per Maus miteinander verbunden. Das erleichtert die Arbeit ungemein und evtl. auftretende Ungereimtheiten können schon hier festgestellt werden.

In dem Fall von Sym-CMS brauchen wir eigentlich nur zwei Datenbank Tabellen. Eine für die Benutzer (user) und eine für die Artikel (article), die auf der Seite dargestellt werden sollen.

Die Tabelle article ist per Fremdschlüssel (Foreign Key) mit der Tabelle user verbunden, damit wird festgehalten, wer den Artikel geschrieben hat.

So, wenn ich jetzt nichts vergessen habe, dann kann man auch schon mit der eigentlichen Programmierung beginnen. Zumindest für unser kleines Projekt sollten die Informationen hier genügen.

Die Qual der Wahl

Bleibt eigentlich nur die Wahl des ersten Frameworks, welches für die Umsetzung genutzt werden soll. Ich möchte darauf hinweisen, dass die Reihenfolge, wie ich die Frameworks ausgewählt habe, nichts mit meinen persönlichen Vorlieben zu tun hat.

Zur Erinnerung, die Auswahl der CMS: Adventure PHP Framework, CakePHP, CodeIgniter, Symfony, Zend Framework und Yii.

Ich entscheide mich als erstes für das Adventure PHP Framework. Also schaut in den nächsten Tagen wieder rein, wenn die Reise weitergeht.

Zur Tutorial Übersichtsseite

 

Werbung

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">