CodeIgniter gibt es bereits seit 2006. CodeIgniter war zwischenzeitlich (2013) das am meisten bei GitHub aufgerufene PHP Projekt und erfreut sich immer noch großer Beliebtheit. Nachdem der ursprüngliche Autor EllisLab im Juli 2013 die Suche nach einem Nachfolger für die CodeIgniter Entwicklung öffentlich machte und die Entwicklung etwas stagnierte, wirkte sich das auf die Popularität aus und weckte bei einigen natürlich entsprechende Zweifel an der Zukunft des Projekts. Im Oktober 2014 wurde dann die Weiterentwicklung durch das British Columbia Institute of Technology bekannt gegeben. Kurz darauf kam dann auch Version 3. Die Entwicklung geht aktuell für mich nicht besonders schnell aber dennoch stetig voran. Version 4 ist in der Entwicklung, eine Alpha Version ist bereits veröffentlicht.
Auch wenn es inzwischen neurere und aktuell trendigere Frameworks wie Laravel gibt, hat CodeIgniter neben den Unmengen an bestehenden Websites auch heute noch seine Daseinsberechtigung.
- Es ist relativ einfach und bedarf kaum Konfiguration: Das Framework hat nur eine kurze Einarbeitungszeit und vor allem sehr wenig bis keinen Konfigurationsbedarf. Das durchdachte Routing klappt ebenso ohne großartige vorgelagerte Konfigurationen.
- Es ist leichtgewichtig und schnell: „because it is faster, lighter and the least like a framework“ (Rasmus Lerdorf, PHP-Erfinder 2008, also schon etwas her 😉 ). CodeIgniter ist demnach relativ schmal gehalten. Das wirkt sich natürlich auf Geschwindigkeit aus, die bei CodeIgniter im Vergleich sehr gut ist.
- Es lässt Freiraum: Kommen wir nochmal auf das „least like a framework“ von Rasmus Lerdorf zurück. CodeIgniter setzt zwar den MVC Architekturstil um, allerdings in einer eher freien Interpretation. D.h. es macht relativ wenig restriktive Vorgaben und lässt dem Entwickler dementsprechend seine gestalterischen Freiheiten. Zugegebenermaßen kann das Fluch und Segen zu gleich sein. Positiv aus meiner Sicht: Einem einzelnen Entwickler wird das die Möglichkeit geben, seinen eigenen Stil zu entwickeln, dabei „Fehler“ zu machen und schlussendlich auch zu lernen.
- Zuverlässig und gut dokumentiert: Die Arbeit mit CodeIgniter ist relativ frustrationsfrei, die Online als auch Code-Dokumentation gut, sicherheitsrelevante Bugfixes kommen schnell und die Community an Entwicklern nach wie vor relativ groß. Aus meiner Sicht ist durch die Weiterentwicklung des BCIT in Version 3 das Framework deutlich erwachsener als die Vorversionen geworden und hat dabei noch einen Teil des Rückstandes zu aktuelleren Frameworks abgebaut.
Natürlich hat CodeIgniter nicht nur Vorteile. Natürlich kann es nicht mit dem High Quality Code von Zend Framework mithalten, bietet weniger Funktionen als ein Full Feature Framework, ist weniger aktuell als Laravel und hat zum Beispiel einen mangelnden Namespace Support.
-> Fazit: Aber das was es aus meiner Sicht möchte, ein leichtgewichtiges und schnelles Framework zu sein, erfüllt es. Und das richtig gut. Schlussendlich wird es nicht das Framework geben, sondern nur das richtige Framework für die Anforderung. Gerade wenn keine allzu umfangreichen Bibliotheken benötigt werden, die Entwickleranzahl gering oder überschaubar ist oder aber der Pagespeed wichtig ist, wählt man aus meiner Sicht mit CodeIgniter eine solide Lösung.
Gefällt mir ausgesprochen gut. Endlich ein Artikel über CodeIgniter, der nicht nur die allgemeinen Vorteile eines MVC Frameworks zeigt, sondern die Einordnung von CodeIgniter gegenüber anderen MVC Frameworks. Das hat mir bei der Entscheidung, mein Projekt auf Basis einer Open Source Lösung (basierend auf CodeIgniter) zu entwickeln oder komplett neu mit Laravel oder Symfony aufzubauen wirklich erstmal weitergeholfen… Auch wenn ich noch nicht wirklich eine Entscheidung habe.
Danke!
Kann man abhängig von Qualität und Menge des vorhandenen OpenSource Codes und persönlichen Fähigkeiten ohne Bedenken mit CodeIgniter weiter machen. Ansonsten würde ich Laravel wählen.