Sahnestückchen

Teil 5: Reihe: PHP - Frameworks - Cake PHP

28.4.2009 von Redaktion pcmagazin und Tobias Hauser

ca. 1:55 Min
Ratgeber
  1. Reihe: PHP - Frameworks - Cake PHP
  2. Teil 2: Reihe: PHP - Frameworks - Cake PHP
  3. Teil 3: Reihe: PHP - Frameworks - Cake PHP
  4. Teil 4: Reihe: PHP - Frameworks - Cake PHP
  5. 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
Automatisch: Ohne eigenen Datenbank-Abfrage- Code entsteht eine einfache Ausgabe.
© Archiv

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 lesen

Chronologische Liste und Netflix-Links

Marvel-Filme- und -Serien: Das ist die richtige Reihenfolge

Neuerscheinungen in der Übersicht

Netflix: Neue Filme und Serien

Vorschau auf Film- und Serien-Highlights

Amazon Prime Video: Neuheiten

Weiter zur Startseite  

Mehr zum Thema

internet, webdesign, adobe,  Illustrator, CS6

Webdesign

Webdesign in Adobe Illustrator CS6

Adobe Illustrator wird im Webdesign immer beliebter. Wie Sie das Tool richtig einsetzen, erfahren Sie hier.

Facebook stellte die neue Suche

Facebook

Facebooks Social Graph Search

Was sind die Implikationen für Unternehmen und Endanwender bei Facebooks neuer Suche Graph Search?

Der BGH erklärt das Internet zur Lebensgrundlage.

Online-Recht

Darauf müssen Sie bei den AGB achten

Allgemeine Geschäftsbedingungen liest sich niemand gerne durch. Sie sind jedoch notwendig und äußerst sinnvoll. Worauf sie achten sollten.

Online-Urheberrecht: Unser Ratgeber bietet Tipps für das Cloud-Recht.

Online-Recht in der Cloud

Wie sieht das Urheberrecht in der Wolke aus?

Dateien werden immer häufiger in der Cloud bereitgestellt. Rechtlich ist das jedoch durchaus problematisch. Wir klären über das Urheberrecht in der…

Logistik im E-Commerce: Prozesse rund um die Logistik.

E-Commerce-Logistik

Logistik im E-Commerce

Für den Erfolg eines Online-Shops sind zahlreiche Faktoren verantwortlich. Neben Produktvielfalt und Darstellung der Waren gehört auch die Logistik.