Sahnestückchen

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.

© Archiv

PHP - Frameworks Teil 1 - Cake PHP

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.

Mehr lesen

Chronologische Liste und Netflix-Links -

Neuerscheinungen in der Übersicht -

Vorschau auf Film- und Serien-Highlights -

Mehr zum Thema

Webdesign

Adobe Illustrator wird im Webdesign immer beliebter. Wie Sie das Tool richtig einsetzen, erfahren Sie hier.
Facebook

Was sind die Implikationen für Unternehmen und Endanwender bei Facebooks neuer Suche Graph Search?
Online-Recht

Allgemeine Geschäftsbedingungen liest sich niemand gerne durch. Sie sind jedoch notwendig und äußerst sinnvoll. Worauf sie achten sollten.
Online-Recht in der Cloud

Dateien werden immer häufiger in der Cloud bereitgestellt. Rechtlich ist das jedoch durchaus problematisch. Wir klären über das Urheberrecht in der…
E-Commerce-Logistik

Für den Erfolg eines Online-Shops sind zahlreiche Faktoren verantwortlich. Neben Produktvielfalt und Darstellung der Waren gehört auch die Logistik.