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.[2]
CodeIgniter | |
---|---|
Basisdaten | |
Entwickler | BCIT (urspr. Ellislab) |
Aktuelle Version | 4.1.4 (6. September 2021) |
Betriebssystem | plattformunabhängig |
Programmiersprache | PHP |
Kategorie | Webframework |
Lizenz | seit 3.0.0 MIT-Lizenz[1], vorher OSL 3.0 |
codeigniter.com |
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. 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
- Thomas Myer: Professional CodeIgniter. John Wiley & Sons, Indianapolis 2008, ISBN 978-0-470-28245-8.
Weblinks
Einzelnachweise
- Lizenz-Datei auf Github
- 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. auf EllisLab.com