
Wenn sich ein Entwurfsmuster in der Web Entwicklung bewährt hat, dann ist es das Model View Controller Pattern oder kurz MVC. Ich bin schon seit längerem auf der Suche nach einem PHP Framework, dass MVC konsequent umsetzt, aber nicht gleich mit Kanonen auf Spatzen schießt. Leichtfüßig (oder in „Neu-Deutsch“ light weight) und objekt orientiert sollte es sein. PHP Fameworks, wie z.B. Zend, CakePHP und Symphony gehören da eher zu den Boliden. MVC setzen sie zwar perfekt um, objekt orientiert sind sie auch, aber leichtfüßig ist anders.
So bin ich auf CodeIgniter gestoßen, was von sich behauptet mit einem „schmalen Fuß“ (small footprint) daher zu kommen.Die Installation ist schon einmal denkbar einfach. Das Zip im „DocumentRoot“ des Webservers auspacken, das Verzeichnis umbenennen und die vollständige URL für den Webauftritt in der Konfigurationsdatei system/application/config/config.php
angeben.
$config['base_url'] = "http://localhost/allMedia/";
Und schon kann man seinen ersten Controller schreiben.
class Books extends Controller { ... some logic ... // build view $this->load->view('common/header',$headerdata); $this->load->view('book/list',$data); $this->load->view('common/menu',$menudata); $this->load->view('common/footer'); }
CodeIgniter ist in der Lage Teile einer View vor dem Ausliefern zusammenzusetzen. Templates werden unterstützt sind aber nicht zwingend notwendig.
Für mich bringt dieses Framework alles mit, was ich brauche:
- das MVC Entwurfsmuster
- durchgängige Objektorientierung
- Performance
- schöne URL’s
- Helper Klassen (z.B. für Paging)
- gute Einbindung von doctrine als OR Mapper
- und nicht zu vergessen eine gute Dokumentation
„Das Feuer ist bei mir entzündet“ und ein kleines Projekt bereits mit CodeIgniter implementiert. Wem also Zend und Co. zu komplex sind, der sollte sich CodeIgniter einmal etwas genauer anschauen. Es lohnt sich.