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.

PHP - Frameworks Teil 1 - Cake PHP

© 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 zum Thema

Youtube Sperre umgehen GEMA
Videos freischalten

So umgehen Sie die GEMA-Sperre bei Youtube. Was Sie dazu brauchen, und wie es am einfachsten geht.
Neue Fritzboxen unterstützen den AC-Standard.
WLAN-Geschwindigkeit verdoppeln

Mehr WLAN-Geschwindigkeit: Mit dem WLAN-Standard 802.11ac und den richtigen Geräten und Einstellungen verdoppeln Sie den Datendurchsatz.
Netflix auf dem TV
Programm in der Übersicht

Welche Filme und Serien gibt es bei Netflix eigentlich zu sehen? Was ist neu im Streaming-Angebot? Diese Antworten helfen weiter.
Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
E.T. – Der Außerirdische
Vorschau auf Film- und Serien-Highlights

Amazon Prime Instant Video lockt im Dezember 2016 mit Film-Highlights wie "E.T.", "Fast & Furious 7" und der Serie "Ku’damm 56​".