Sahnestückchen

Teil 4: 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.

© Archiv

Verbunden: Cake PHP meldet eine erfolgreiche Datenbankverbindung.

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 -

Neuerscheinungen in der Übersicht -

Vorschau auf Film- und Serien-Highlights -

Mehr zum Thema

Webdesign

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

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

Allgemeine Geschäftsbedingungen liest sich niemand gerne durch. Sie sind jedoch notwendig und äußerst sinnvoll. Worauf sie achten sollten.
Online-Recht in der Cloud

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

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