CakePHP 3.x Migration

CakePHP

Installation von CakePHP 3

Bevor man in die CakePHP 3 Welt einsteigt, sollte man als bisheriger CakePHP 2 Entwickler unbedingt den Migrations-Guide auf der CakePHP Seite lesen.

Mit CakePHP 3 ist der Einsatz von Composer - dem Dependency Manager für PHP - aus meiner Sicht Pflicht und spätestens jetzt sollte keiner mehr diesen Paketmanager scheuen, um damit das erstes 3.x Projekt aufzusetzen.
Der folgende Befehl erstellt das Grundgerüst für die CakePHP Anwendung:

composer create-project --prefer-dist cakephp/app projekt_name

Nach dem erfolgreichen Durchlauf ist die nötige Verzeichnisstruktur angelegt und alle externen Bibliotheken ins vendor-Verzeichnis geladen. Sieht man sich jetzt die Verzeichnisstruktur genauer an, stellt man einige Neuerungen fest. So sind u.a. die gewohnten App-Verzeichnisse unter "src" zu finden.

Ausgabe von individuellen CSS- / JavaScript-Dateien im Layout View der Seite

Im gewünschten Template View z.B. src/Template/Articles/view.ctp kann man die auszugebende Datei definieren - hier z.B. meine_datei.js

echo $this->Html->script('meine_datei.js', ['block' => true]);

Im Layout src/Template/Layout/default.ctp muss es dann einen entsprechenden "script fetch" Befehl geben:

echo $this->fetch('script');

Damit wird die JavaScript Datei meine_datei.js an dieser Stelle im Layout eingebunden.

Wenn man individuelle JavaScript Blöcke (scriptBlock) direkt im Template View definieren möchte und diese dann auch im "script fetch" Bereich ausgegeben werden sollen, sieht die Syntax im View ähnlich aus:

$this->Html->scriptBlock('console.log("Test Ausgabe");', ['block' => true]);

Routen und URLs im Template view generieren

$this->Url->build(null, true) // absolute URL mit host
$this->Url->build(null) // relative URL /controller/action/params