CakePHP-Entwicklung im Allgemeinen und speziell unter OS-X

cake2000_medGrob gesagt ist CakePHP ein MVC-Framework in PHP. Es unterstützt Validierung, Internationalisierung und bietet eine automatischer Objektserialisierung in die Datenbank. Mit CakePHP kann man Model, Controller und Views generieren backen. Besonders praktisch ist, dass man mit CakePHP die notwendigen Objekte und Seiten für ein voll funktionstüchtiges CRUD (Change Read Update Delete) inklusive Admin-Interface erstellen kann. 

Seit ich es vor einem Jahr entdeckt habe, möchte ich keine PHP-Anwendung mehr ohne CakePHP machen. CakePHP ist Open-Source, klein, klar, gut programmiert, anständig dokumentiert und relativ leicht verständlich. Es beschleunigt nicht nur die Entwicklung ungemein, sondern sorgt auch mit einem klaren Benennungs-Schema dafür, dass der Code sauber und übersichtlich bleibt. 

Installation

Zur Installation wird CakePHP lediglich entpackt und dann in den htdocs-Ordner des Webservers kopiert. In dem entpackten Ordner befindet sich eine im Finder unsichtbare .htaccess-Datei, die unbedingt mit kopiert werden muss. Falls die Startseite nach der Installation so aussieht, als hätte sie kein CSS, wurde das wahrscheinlich vergessen.

CakePHP läuft sowohl mit MAMP, als auch mit XAMMP. Alle weiteren, für die Installation notwendigen Dinge, wie Datenbank-Konfiguration und Verzeichnisberechtigungen, werden nach Aufruf der Startseite in der Installations-URL im Browser angezeigt. 

Nach der Installation sollte die Startseite so grün, wie im folgenden Screenshot aussehen.

cakephp-installation

Backen

Mit CakePHP lassen sich Model-Objekte, Controller und die CRUD-GUI-Seiten automatisch aus in der Datenbank angelegten Entities generieren. Dazu geht man mit dem Terminal in den Ordner /cake/console und kann nun die gewünschten PHP-Klassen mit

/Applications/xampp/xamppfiles/bin/php cake.php bake 

wenn man XAMPP benutzt oder 

/Applications/MAMP/bin/php5/bin/php cake.php bake

mit MAMP, generieren.

Datenbank

Datenbanktabellen sollten für CakePHP immer in der Mehrzahl benannt werden, also „users“ oder „locations“. CakePHP kann einen von der Datenbank generierten Primärschlüssel nutzen. Unter MySQL beispielsweise legt man einen auto_increment key mit

`id` int(11) NOT NULL auto_increment,

an. Wenn man dem Primärschlüssel den typ CHAR(36) gibt, generiert CakePHP beim Speichern der Objekte automatisch eine UUID als Primärschlüssel. 

Die Felder „created“ und „modified“ werden von CakePHP automatisch  mit dem Datum der Erstellung und der letzten Änderung des Datensatzes befüllt. 

`created` datetime NOT NULL,
`modified` datetime NOT NULL,

Folgende Datentypen können für das CakePHP-Model im Fall von MySQL genutzt werden:

CakePHP Datentyp MySQL Datentyp
primary_key NOT NULL auto_increment
string varchar(255)
text text
integer int(11)
float float
datetime datetime
timestamp datetime
time time
date date
binary blob
boolean tinyint(1)

Die Datentypen für weitere Datenbanken, wie PostgreSQL, DB2 oder Oracle findet man hier im Cookbook

Dokumentation

Weitere Informationen über CakePHP

Ich wünsche frohes backen!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.