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.

PHP - Frameworks Teil 1 - Cake PHP

© 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 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…
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…
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…
News
Video
SciFi-Action mit Ryan Gosling und Harrison Ford
Video
Agatha-Christie-Verfilmung mit Johnny Depp
Video
Kinostart: 23.11.2017