Sahnestückchen

Teil 4: Reihe: PHP - Frameworks - Cake PHP

28.4.2009 von Redaktion pcmagazin und Tobias Hauser

ca. 1:40 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

In dieser Konfigurationsdatei finden Sie übrigens noch weitere Anpassungen. Eine ist der zufällige String, der für das Erzeugen von Hashes verwendet wird. Er heißt salt. Diesen sollten Sie ebenfalls ändern.

Configure::write('Security.salt',
'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');

Andere Einstellungen betreffen unter anderem die Session-Steuerung. Hier werden viele Möglichkeiten schon durch die Kommentare klar. Den Rest finden Sie im offiziellen Kochbuch unter .

Interessant sind die Möglichkeiten von app/config/routes.php und app/config/bootstrap.php. Erstere Datei sorgt für das Routing, sprich für die Umleitung und URL-Gestaltung. Hier können Sie beispielsweise beim Erstaufruf auf unseren FrameworksController umleiten:

Router::connect('/', array
('controller' => 'frameworks', 'action' => 'index'));

Model

Bisher wurde das Model noch von Cake PHP generiert. In unserem Beispiel gibt es allerdings eine Abhängigkeit zwischen Frameworks und Lizenzen. Diese Abhängigkeit kann im Model direkt abgebildet werden. Dazu kommen die Eigenschaften für Relationen zum Einsatz.

PHP - Frameworks Teil 1 - Cake PHP
Verbunden: Cake PHP meldet eine erfolgreiche Datenbankverbindung.
© Archiv

Ein Beispiel: Die Eigenschaft $belongsTo gibt an, zu welchem Model ein Model eine entsprechende Beziehung hat. In diesem Fall ist unser Ausgangs-Model Framework. Um es zu erstellen, erzeugen Sie im Verzeichnis app/models eine PHP-Datei namens framework.php. Diese enthält die Klasse Framework, die von AppModel erbt:

<?php
class Framework extends AppModel {
var $belongsTo = 'Licence';
}
?>

Mit $belongsTo wird direkt auf das Licence-Model verwiesen. Der Fremdschlüssel ist dabei in Framework vorhanden und muss korrekt benannt sein (licence_id). Ansonsten scheitert die automatische Erkennung.

Allerdings haben Sie auch die Möglichkeit, hier einen Array mit einem eigenen Fremdschlüssel und eventuellem Klassennamen für das Modell anzugeben:

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

Durch diese Änderung gibt es - ohne dass Sie extra ein Model Licence anlegen müssten - automatisch ein weiteres Element im Ergebnis unserer Controller-Abfrage. Diese können Sie in der View weiterverwenden und nun in der Tabelle auch noch die Lizenz ausgeben:

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

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.