CodeIgniter
# CodeIgniter

CodeIgniter ist ein in PHP geschriebenes quelloffenes Webframework. Das Projekt wird seit 2014 vom British Columbia Institute of Technology betreut, nachdem es vorher bei EllisLab entwickelt wurde.

## Aufbau

CodeIgniter ist möglichst schlank gehalten, wodurch eine hohe Performance erreicht wird und die Einarbeitungszeit im Vergleich zu anderen Frameworks kurz ist. Zentraler Bestandteil ist die Model-View-Controller-Architektur (MVC). Die Verwendung von Model und View ist zwar nicht zwingend erforderlich, wird allerdings aus Gründen der Übersichtlichkeit dringend empfohlen. CodeIgniter enthält eine große Zahl an Bibliotheksklassen und Hilfsfunktionen, die dem Entwickler Standardaufgaben abnehmen. Beispiele dafür sind XML-RPC, Datenbankzugriff, Eingabeüberprüfung, Sessions und Datei-Uploads. So können Webanwendungen schnell und sicher entwickelt werden. Eine große Stärke von CodeIgniter ist die einfache Konfiguration. In der Regel braucht man nicht viel mehr, als die Datenbankverbindung und die Basis-Url zu hinterlegen.

## Beispiel

Im folgenden Beispielcode wird bei Aufruf von http://example.com/helloworld/test die Methode „test“ im Controller „helloworld“ ausgeführt. Die dazu benötigten Dateien werden von CodeIgniter automatisch geladen und die Ausgabe der Methode „test“ an den Client gesendet. Für die Weiterleitung dieser sauberen URLs wird das Apache-Modul mod_rewrite verwendet, optional können für die Übergabe der Controller- und Funktionsnamen auch HTTP-GET-Argumente verwendet werden. Dieses Beispiel macht deutlich, dass die Verwendung von Models und Views nicht unbedingt erforderlich ist. Ein Model ist bei CodeIgniter eine PHP-Klasse, die Methoden bereitstellt, um bestimmte Datenbankabfragen durchzuführen. Die View stellt die Ausgabekomponente dar und kann gemäß dem MVC-Prinzip vom Controller mit weiteren Daten befüllt werden.

Für dieses Beispiel wird im Applikationsverzeichnis unter /application/controllers eine Datei namens Helloworld.php angelegt. Ab Version 3.x des Frameworks ist bei den Dateinamen auf die korrekte Groß- und Kleinschreibung zu achten. Das bedeutet, dass der Anfangsbuchstabe jeweils groß sein muss, der Rest hingegen klein. Dies betrifft alle Dateien unter den folgenden Pfaden:

* /application/controllers
* /application/libraries
* /application/models

Falls mod_rewrite nicht zur Verfügung steht, lautet die URL zum Laden der oben genannten Methode http://example.com/index.php/helloworld/test.

