CodeIgniter - Struktur & Datenbankschema

30.09.2011 22:33 von Carsten Ruhr

Nachdem wir CodeIgniter jetzt installiert und ans laufen gebracht haben (siehe Teil 1), können wir uns etwas näher mit der Struktur auseinandersetzen. Ich gehe dabei nur auf das ein, was wir im Verlauf des Projekts brauchen werden. Hooks, Cache und so weiter interessieren uns erstmal nicht.

Um CodeIgniter zu verstehen, gucken wir uns zunächst an, wie eine typische CodeIgniter URL aussieht.

CodeIgniter URL

Der erste Teil ist unsere Domain. Auf meinem lokalen Server befindet sich das Tutorial im Verzeichnis "tutorial" (wie sinnig...).
Der zweite Teil (grün) ist unsere index-Datei, über die der Browser IMMER mit der Anwendung kommuniziert. später sehen wir, wie man diese noch mit einem kleinen Trick verbergen kann.
"controller" ist eine Klasse, die zum Zeitpunkt des Browser-Requests instanziiert wird. In dieser Klasse spielt die Musik. Sie steuert die ganze Anwendung.
"function" ist eine Funktion innerhalb der controller-Klasse, die aufgerufen wird.
"param1" bzw. "param2" sind Parameter, die an die aufgerufene Funktion übergeben werden können. Das können beliebig viele sein.

Gucken wir uns jetzt mal die Ordnerstruktur im "application/"-Verzeichnis von CodeIgniter an.

Das application Verzeichnis

Eine Menge Unterverzeichnisse. Doch wir brauchen für’s Erste nur "controllers", "models" und "views". Wer sich jetzt denkt "Oh nö! Das kenn ich doch irgendwoher!" erinnert sich wahrscheinlich an das so genannte MVC-Pattern.
Für alle anderen: Das MVC-Pattern ist eine quasi standartisierte Programmstruktur, die versucht so flexibel wie möglich zu sein.
"Models" sind in dem Fall Klassen, welche die Interaktion mit der Datenbank übernehmen. Update, Select, Insert und das ganze Zeug.
"Views" sind Dateien, die den Teil der Darstellung übernehmen. Im Idealfall also HTML mit ein wenig PHP zum Einsetzen von Daten.
"Controllers" sind Klassen, die das ganze organisieren. Hier werden Daten und Views zusammengebracht.

Unsere kleine Anwendung wird darüber hinaus natürlich auch noch Bilder, JavaScripte und Styleheetdateien enthalten, weswegen ich im root-Verzeichnis der Anwendung einen Ordner "assets" erstellt habe, der nochmals unterteilt ist.

assets

Bevor wir jetzt endlich mit der Programmierung loslegen können, müssen wir noch die Datenbank planen. Statt das groß zu erläutern gibts hier einfach mein Schema.

Unser Datenbankschema

Ich weiß. Das ist nicht grade ein standartisiertes Relationship Model, genügt aber für unsere Zwecke völlig. Eine .sql Datei kann man hier runterladen.
Auf Kommentare oder eine datenbankgesteuerte Benutzerverwaltung verzichten wir erstmal. Vielleicht kommt das im Verlauf des kleinen Projekts noch hinzu. Dank des MVC-Patterns sollte es kein Problem sein das später noch zu ergänzen.

Im nächsten Kapitel beginnen wir endlich mit der Programmierung. Ja, wirklich! Wir erstellen eine einfache "Hallo Welt" Seite, mit der wir den Grundaufbau unseres Blogs definieren. So lernen wir den Umgang mit Controllern und Views in CodeIgniter.

 

Kapitelübersicht

Dir gefällt das?