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.[2]

CodeIgniter

Basisdaten

Entwickler BCIT (urspr. Ellislab)
Erscheinungsjahr 28. Februar 2006
Aktuelle Version 4.2.10
(5. November 2022)
Betriebssystem plattformunabhängig
Programmier­sprache PHP
Kategorie Webframework
Lizenz seit 3.0.0 MIT-Lizenz[1], vorher OSL 3.0
codeigniter.com

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

Bearbeiten

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
<?php

class 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.

Literatur

Bearbeiten
Bearbeiten

Einzelnachweise

Bearbeiten
  1. Lizenz-Datei auf Github
  2. offizielle Ankündigung vom 6. Oktober 2014 (Memento des Originals vom 17. Oktober 2014 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/ellislab.com auf EllisLab.com