Bei CakePHP handelt es sich um ein kostenloses Open-Source Framework, mit dem Webapplikationen in PHP entwickelt werden können. Angelehnt ist es an Ruby on Rails und verfolgt vier wesentliche Prinzipien:
- DRY – Don’t Repeat Yourself: Der Name deutet es bereits an: hierbei geht es um die Vermeidung unnötiger Redundanzen im Quelltext oder in der Datenhaltung. Auf diese Weise entstehen schlanke Applikationen, die einfach zu warten sind, ohne dass gleiche oder ähnliche Bereiche nebeneinander existieren.
- Rapid Development: Die Planungsphase bei der Entwicklung einer Software soll kurz gehalten werden. Das ermöglicht auch, möglichst schnell ausführbare Codes in Form von Prototypen zu erstellen. Darin liegt ein Unterschied zum klassischen Ablauf beim Entwickeln von Applikationen, die in der Regel aus mehreren verschiedenen Phasen besteht.
- CRUD – Create, Read, Update, Delete: Damit werden die vier wesentlichen Aktionen im Umgang mit persistenten Daten beschrieben. Fast jede Anwendung im Bereich der Datenverarbeitung basiert auf mindestens einer dieser vier Funktionen. Dabei hat CakePHP dieses Prinzip in besonderem Maße verinnerlicht. Deutlich wird das an der reichhaltigen Anzahl von Werkzeugen, die jeder dieser Standardfunktionen zur Verfügung steht.
- Convention oder Configuration: Ein Entwickler muss nur jene Bereiche einer Applikation konfigurieren, die sich nicht aus dem logischen Zusammenhang oder festgelegten Konventionen ergeben. Dies bedeutet für den Entwickler eine enorme Arbeitserleichterung, da bei Einhaltung der Konventionen keine Zeile Code schreiben muss, um dem Framework den gewünschten Zusammenhang mitzuteilen.
Eine Besonderheit an CakePHP ist, dass es im Vergleich zu anderen Web-Frameworks nur geringe Anforderungen an den Webserver stellt. Darüber hinaus braucht es keine eigene Datenbank für eine Anwendung. Stattdessen kann es Datenbanktabellen mit Präfixen verwenden, außer bei der Verwendung von Console Applications. Dabei ist dann ein Zugriff per Kommandozeile nötig.
CakePHP folgt, wie Ruby on Rails, dem Prinzip des Model-View-Controller-Pattern, kurz MVC. In einer interaktiven Applikation soll damit eine logische Trennung der Funktionalität in abgegrenzte Teilbereiche erzielt werden.
Im O’Reilly Verlag ist soeben die zweite Auflage von „Webentwicklung mit CakePHP“ erschienen. Dirk Ammelburger & Robert Scherer bringen dem Leser die Arbeit und Entwicklung mit diesem Framework systematisch näher. Von der Vorstellung von CakePHP über das Session-Handling bis hin zu verschiedenen Anwendungsbeispielen wird das Wichtigste zu CakePHP praxisnah und verständlich erklärt.