CodeIgniter

CodeIgniter ist ein von EllisLab in PHP geschriebenes quelloffenes Webframework.

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 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. Seit 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
<?php
 Helloworld extends CI_Controller
{
 function test()
 {
  echo "Hello World";
 }
}
?>

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

Das BCIT hat die Entwicklung von CodeIgniter von EllisLabs übernommen.

Related Posts

Framework
openSUSE
Session-ID (Sitzungsbezeichner)