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

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​".