Reihe: PHP - Frameworks - Cake PHP
Cake PHP orientiert sich stark an Ruby on Rails. Allein dies qualifiziert es für unsere PHP-Framework-Serie. Dazu kommen viele nützliche Funktionen.

Die Entwicklung von Cake PHP oder kurz Cake begann 2005. Michal Tatarynowicz startete damals mit einem kleinen Framework nach Ruby-on-Rails-Vorbild.Wie bei vielen anderen Projekten entwickelte sich daraus ein spannendes Projekt, als Michal den Code unter die MIT-Open-Source-Lizenz gestellt hat.Da...
Die Entwicklung von Cake PHP oder kurz Cake begann 2005. Michal Tatarynowicz startete damals mit einem kleinen Framework nach Ruby-on-Rails-Vorbild.Wie bei vielen anderen Projekten entwickelte sich daraus ein spannendes Projekt, als Michal den Code unter die MIT-Open-Source-Lizenz gestellt hat.Damit bietet sich die Möglichkeit, kommerzielle Erweiterungen und Bibliotheken auf Cake PHP basieren zu lassen. Dennoch gibt es eine Vielzahl an Open-Source-Erweiterungen.
Einrichtung
Für die Testinstallation rufen Sie nach dem Entpacken direkt das Verzeichnis von Cake PHP auf. Die eigentliche Webanwendung befindet sich in app. Der nach außen sichtbare Teil ist im Verzeichnis webroot zu finden. Dort übernimmt die index.php die Abarbeitung, für das Routing der URLs ist gleich eine .htaccess-Datei vorhanden.
Die einzelnen Anwendungsteile lassen sich auch voneinander trennen, um beispielsweise ein core-Verzeichnis für mehrere Installationen zu verwenden ().
Vorsicht, wenn Ihr Webserver kein mod_rewrite erlaubt beziehungsweise .htaccess-Dateien aktuell nicht berücksichtigt werden, erscheint die Startseite ohne CSS komplett unformatiert.
Hier haben Sie dann zwei Möglichkeiten: Sie aktivieren mod_rewrite und erlauben .htaccess-Dateien oder Sie deaktivieren das URL-Rewriting von Cake PHP. Dazu gehen Sie in die Datei app/config/core.php und kommentieren die folgende Zeile aus:
Configure::write('App.baseUrl', env
('SCRIPT_NAME'));
Model-View-Controller
Wie bei den meisten Frameworks steht das Model-View-Controller-Modell (MVC) im Vordergrund. In Cake PHP ist der erste Schritt, die Datenbank zu konfigurieren. Dies geschieht in app/config/database.php.
Diese Datei existiert anfangs nicht, Sie können aber database.php.default in database.php umbenennen. In unserem Fall soll die Datenbank frameworks heißen. Die Konfigurationsdatei sieht noch eine Testdatenbank vor, sprich, Sie können in einem weiteren Testkontext arbeiten. Welcher eingesetzt werden soll, steuern Sie im Model über $useDbConfig. Für unsere Zwecke reicht eine Standarddatenbank.
class DATABASE_CONFIG {
var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'frameworks',
'prefix' => '',
'encoding' => 'UTF-8'
);
}
In Sachen unterstützte Datenbanken bietet Cake PHP eine breite Auswahl. Die Spanne reicht von MySQL (mit mysql und mysqli) über Oracle und MS SQL Server bis hin zu Postgre SQL. Verantwortlich für die Datenbankabstraktion in Cake sind die DBO. Sie finden die entsprechenden Datenquellen unter cake/libs/model/datasources/dbo.
Durch die strikte Anwendung des MVC-Modells erwartet Cake PHP standardmäßig eine Datenbank. Es mag allerdings Anwendungsfälle geben, in denen Cake ohne Datenbank laufen soll.