Agile Webapplikationen mit dem CakePHP-Framework

Kuchen backen!
Kommentare

Apache korrekt
konfigurieren
Einen weiteren möglichen Fehler erkennen wir dann, wenn die
HTML-Seite ohne jegliche CSS-Formatierung angezeigt wird. Das Modul mod_rewrite muss geladen sein und in httpd.conf

Apache korrekt konfigurieren Einen weiteren möglichen Fehler erkennen wir dann, wenn die HTML-Seite ohne jegliche CSS-Formatierung angezeigt wird. Das Modul mod_rewrite muss geladen sein und in httpd.conf muss folgender Eintrag stehen:


Options FollowSymLinks

AllowOverride All

Durch AllowOverride All wird die Datei .htaccess von Apache interpretiert. Ein kleines Projekt – das Modell Jetzt sind wir bereit, eine erste Applikation mit CakePHP zu erstellen. Wir bauen eine einfache Applikation, die RSS-Feeds speichert. Dazu brauchen wir zwei einfache Tabellen, eine, die die Feed-Quelle speichert, sowie eine weitere, die die einzelnen Einträge enthält (siehe Abbildung 2).

Abb. 2: Einfaches DB-Modell für unser Beispiel

Beachten wir folgende CakePHP-Besonderheiten: jede der Tabellen muss ein Feld mit Namen id haben, zudem können DateTime-Felder mit Namen created, modified oder updated definiert werden. CakePHP wird sich, wenn er sie vorfindet, automatisch um ihre Aktualisierung kümmern. Die Tabellendefinitionen, als ausführbares SQL-Script für die Datenbank MySQL, stehen in Listing 2:

CREATE TABLE 'feeds' (

'id' int(11) NOT NULL auto_increment,

'name' varchar(255),

'link' text,

'description' text,

'modified' datetime,

PRIMARY KEY ('id')

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


CREATE TABLE 'feed_items' (

'id' int(11) NOT NULL auto_increment,

'feed_id' int(11) NOT NULL,

'title' text,

'content' text,

'link' text NOT NULL,

'created' datetime,

PRIMARY KEY ('id')

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Kuchen backen mit bake Mit dieser rudimentären Tabellenstruktur ausgerüstet, lassen wir jetzt CakePHP für uns arbeiten! Das Utility /cake/scripts/bake.php ist ein PHP-Kommandozeilenskript, das im Dialogverfahren alle für einen ersten Start benötigten Dateien generiert und in die passende Verzeichnisse schreibt. Unter Unix muss er mit chmod 755 ausführbar gemacht werden, bevor es losgehen kann. Der Startbildschirm begrüßt uns und fragt, ob wir Model, Controller oder View generiert haben wollen. Ganz zu Beginn macht es Sinn, mit dem Modell zu beginnen. Bake ist dabei ein Tool, das iterativ aufgerufen werden muss, denn jede Session behandelt nur einen Teilaspekt unserer Applikation. Sehr nützlich ist dies auch, wenn die Entwicklung schon weiter fortgeschritten ist, beispielsweise um eine erste View für eine neu kreierte Aktion im Controller zu generieren. Bake mit allen seinen Möglichkeiten hier vorzustellen, würde den Rahmen einer Einführung sprengen. Wer sich dafür interessiert, soll ruhig ein paar Dutzend Probeläufe machen und sich den generierten Code in einem Editor anschauen. Hat man eine fehlerhafte Eingabe gemacht, kann und muss abgebrochen und wieder von vorne begonnen werden. Die Dialogführung ist hier leider äußerst rudimentär und die generierten Dateien werden dabei jeweils überschrieben. Arbeitet man an bereits bestehenden und abgeänderten Code, ist dies als Gebot zu verstehen, dass man seine Arbeit vor dem Backen sichert!

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -