Sahnestückchen

Teil 5: Reihe: PHP - Frameworks - Cake PHP

Spannender wird es bei n-zu-m-Relationen wie sie zwischen Frameworks und Features vorkommen. In diesem Fall handelt es sich im Sinne von Cake PHP um HABTM-Relationen. Dies steht für $hasAndBelongsToMany. Wenn die n-zu-m-Tabelle korrekt benannt ist, ist die Angabe dieser Relation allerdings ganz einfach:

<?php
class Framework extends AppModel {
var $belongsTo = array(
'Licence' => array(
'className' => 'Licence',
'foreignKey' => 'licence_id'
)
);
var $hasAndBelongsToMany =
'Features';
}
?>

Voraussetzung ist in diesem Beispiel, dass es eine Tabelle features_frameworks gibt. Diese muss zwei Fremdschlüssel mit den Feldnamen feature_id und framework_id besitzen. Alternativ können Sie die Feldnamen und auch weitere SQL-Abfragen in einem Parameter-Array ergänzen. Mehr dazu unter .

In der View müssen Sie nun nur noch die Informationen aus dem Feature-Model verarbeiten. Dazu ergänzen Sie eine einfache Schleife, die jeweils den Namen des Features in ein Listenelement ausgibt:

<div id="view"><table border="1"><tr><th>Frameworks</th><th>Licence</th><th>Features</th></tr><?php
foreach ($frameworks as $framework) {
echo '<tr><td>';
echo $framework['Framework']['name'];
echo '</td><td>';
echo $framework['Licence']['name'];
echo '</td><td><ul>';
foreach ($framework['Features'] as
$feature) {
echo '<li>';
echo $feature['name'];
echo '</li>';
}
echo '</ul></td></tr>';
}
?></table></div>

Sie sehen an der Struktur der Daten, dass alle Daten in Cake PHP in einem Model vorgehalten werden, das wiederum durch einen Array dargestellt wird. Für unser Beispiel besteht der Array mit dem Ergebnis dabei aus mehreren Arrays, die die einzelnen Datenzeilen enthalten.

PHP - Frameworks Teil 1 - Cake PHP

© Archiv

Automatisch: Ohne eigenen Datenbank-Abfrage- Code entsteht eine einfache Ausgabe.

Die Daten eines Models sind dann unter dem Modelnamen im Singular und mit Großbuchstaben verfügbar, also beispielsweise Framework. Dies macht dann auch das Speichern der Daten sehr einfach. Jedes Model besitzt eine save()-Methode, die von AppModel geerbt wird. Dieser Methode übergeben Sie einfach die Daten in der Array-Struktur.

Guter Einstieg

Cake PHP ist stringent aufgebaut und mit umfangreichen Funktionalitäten versehen. Reizvoll ist auch die Fähigkeit, sowohl mit PHP 4 als auch mit PHP 5 zu arbeiten. Sie können etwa auch für die PHP 5-Variante alle Eigenschaften mit public statt var versehen.

Dank der umfangreichen Dokumentation und der Bakery eignet sich Cake PHP sehr gut als Einstieg in die Welt der Frameworks.

Dank Erweiterbarkeit über das Vendor-Verzeichnis und dank umfangreicher Bibliotheken wie beispielsweise Prototype and Scriptaculous für Ajax ist aber auch jenseits des Einstiegs für ausreichend Funktionalität gesorgt.

Mehr zum Thema

HTML5: Quick Reference Guide
Ratgeber: "HTML5"

Die wichtigsten Tags auf einen Blick: In unserem praktischen Arbeitsblatt finden Sie einen wertvollen Begleiter für die Umstellung Ihrer Webprojekte…
internet, webdesign, google, content, ranking, seo, suchmaschine
Ratgeber: Urheberrecht

Einzigartige Inhalte bieten Lesern Mehrwert und sind ein wichtiges Qualitätsmerkmal. Ärgerlich, wenn sich jemand durch Kopieren an fremden Ergebnissen…
Die besten HTML5-Tipps
Neue Tipps & Tricks für blitz.io

Wer die Leistung einer Applikation ermitteln möchte, braucht keine Skripte zu schreiben, sondern kann einen der zahlreichen Online-Dienste einspannen.…
image.jpg
Ratgeber: Webentwicklung

Die clientseitige Javascript-Entwicklung bietet fast keine Entwicklungsumgebungen und auch keine vernünftigen Werkzeuge zur Fehlersuche. Eine der…
internet, webdesign, meteor, webapplikationen
Ratgeber

Mit Meteor sollen Entwickler in kurzer Zeit Umgebungen für Webapplikationen erstellen können, ohne sich um lästige Details kümmern zu müssen. Wir…