CodeIgniter: Einführung

In dieser ersten Artikelserie möchte ich euch das Framework CodeIgniter näher bringen.

 

 CI_LogoWas ist CodeIgniter?

CodeIgniter ist ein beliebtes PHP-Framework unter vielen Webentwicklern und eignet sich sehr gut als Einstieg in die Framework-Welt. CodeIgniter ist nach der MVC-Architektur aufgebaut und bringt nur die grundlegendsten Funktionen mit sich, sodass man es beliebig erweitern kann.

Was ist MVC?

Ein MVC-Modell ist am meistangewendeten Architekturmuster für die Herstellung von Software. MVC steht für Model-View-Controller.

MVC

Beschreibung

Der View, auf Deutsch die Präsentation, ist das Endergebnis, was der Benutzer zu sehen bekommt. In den Model-Klassen werden die Daten verwaltet. Der Controller bzw. die Steuerung ist für den Datenverkehr zwischen Model und View zuständig.
Wenn der User eine Seite aufruft, wird zuerst der Controller geladen, der dann die entsprechende View-Seite im Browser anzeigt.
Das Ziel des MVC-Patterns ist die Trennung zwischen Daten und dem Design, was zur Folge hat, dass man viele Änderungen an den Daten oder dem Design vornehmen kann, ohne dass sie sich gegenseitig in die Quere kommen.

Vorteile

  • Steile Lernkurve: Das CI legt auf eine schnelle Einarbeitungszeit und man innert kurze Zeit gute Applikation entwickeln.
  • Simpel gehalten: Dieses Framework bringt nur die notwendigen Funktionen mit sich. Dadurch kann man es für die eigenen Bedürfnisse anpassen.
  • Starke Community: Das Framework hat ein breites Community und es gibt zahlreiche Foren, wo man mit seinen Problemen weiterkommt.

Nachteile

  • Für modulare Anwendung ungeeignet: Will man eine modulare Anwendung schreiben, wo man durch Extension oder Plugin erweitern kann, kann es sehr kompliziert werden.

Installieren

CodeIgniter wird in zwei Versionen (2.2 und 3) zur Verfügung gestellt. In diesem Tutorial wird die Version 3 verwendet. Das Framework könnt ihr auf folgende Seite herunterladen.

Ordnerstruktur

Sobald ihr das CodeIgniter auf dem Server entpackt habt, sieht es wie folgt aus.

CI_Struktur

 

CodeIgniter beinhaltet zwei Ordner application sowie system. Im Ordner system befindet sich die Kerndateien für das Framework und sollte, wenn möglich nichts daran geändert werden. Alle Entwicklungen finden im Ordner application statt. Für die Entwicklung sind nur die zwei Ordner relevant, die anderen könnt ihr löschen.

Ordner: application

ci_02

Wenn wir den Ordner application unter die Lupe nehmen, sehen wir 12 Ordner, davon werden wir nur vier Ordner momentan nutzen.

  • Cache: In diesem Ordner werden alle Temporär-Dateien abgelegt. Wie man das genau benutzt, werde ich Euch später erklären.
  • Config: In diesem Verzeichnis befinden sich die Konfigurationsdateien wie die Datenbankeinstellungen. Bis Ende der Serie werdet ihr die wichtigsten Dateien kennen.
  • Controller: Da sind alle Steuerungsdateien abgelegt, die gebraucht werden, um HTML-Dateien auszugeben.
  • Core: Will man die Kerndateien wie Controller oder Model erweitern, kann man es hier tun.
  • Errors: Hier können benutzerdefinierte Fehlermeldungen wie 404 oder Datenbankerrors abgelegt werden.
  • Helpers: Hier sind alle Helper Klasse ablegt.
  • Hooks: Hooks sind Schnittstellen, worauf ein Entwickler berufen kann, wenn er ein bestimmte Funktion erweitern will. Dazu werde ich später ein eigenes Kapitel schreiben.
  • Language: Hier kann man für eine Mehrsprachige Website die dazugehörende Texte ablegen, wie genau das funktioniert, erfährt ihr im fünften Artikel.
  • Libraries: Hier sind alle Library- Klasse ablegt, oder man kann auch eigene Library-Klasse schreiben.
  • Logs: In diesem Ordner werden Log-Dateien abgelegt, vorausgesetzt man programmiert die entsprechende Funktionen.
  • Migrations: Hier kann man Migrations-Helper einfügen, dazu später mehr.
  • Models: In diesem Verzeichnis werden Model-Klassen für das Projekt abgelegt.
  • Third_party: In diesem Ordner werden alle Drittanwendungen für die Applikationen eingefügt. Dazu gibt es später ein Artikel.
  • Views: In diesem Ordner sind alle HTML-Seiten abgelegt, die dann im Browser erscheinen.

Erstmal werden wir nur die vier Ordner brauchen, config, view, model und controller.