Alles im Fluss

Teil 5: PHP-Frameworks Teil 9 - Flow 3

Zum Testen rufen Sie die create-Action direkt auf. Die Adresse sieht in unserem Fall so aus: localhost/Flow3/Web/frameworks/standard/create. Nun wird die Tabelle mit unserem einen Eintrag angezeigt. Weitere Elemente können Sie in dieser Action hinzufügen.

Mit einem einfachen Eingabeformular machen Sie die Tabelle auch pflegbar (siehe Blog-Beispiel von Flow3). Um alle Einträge zu löschen, verwenden Sie die Methode removeAll() der Repository-Klasse.

Fluid

An dieser Stelle sollten Sie Controller und Ausgabe entkoppeln. Für das Templating ist die Template-Engine Fluid zuständig. In Fluid gibt es einzelne Bestandteile für ein Template. Das Layout ist der Rahmen, ein Template ist dagegen für eine einzelne Action zuständig und Partials formatieren einzelne Bereiche.

In unserem Fall kommt nur ein Template zum Einsatz. Sie finden es in dem Paket-Verzeichnis unter Resources\Private\Templates\Standard. Es trägt den Namen index.html. Im Template setzen Sie die Fluid-Platzhaltersprache ein und ersetzen den <body>-Bereich. Fluid-Tags folgen immer dem gleichen Muster: <f:Befehl>. Hier benötigen Sie eine for-Schleife.

Als Platzhalter für Variablen kommen geschweifte Klammern zum Einsatz:

<h1>Frameworks</h1><table border="1" cellpadding="5"><tr><th>ID</th><th>Framework</th><th>Lizenz</th></tr><f:for each="{frameworks}" as=
"framework"><tr><td>{framework.identifier}</td><td>{framework.name}</td><td>{framework.licence}</td></tr></f:for></table>

Nun muss nur noch der Inhalt, sprich die Frameworks, in das Template gelangen. Dazu wird die index-Action deutlich abgespeckt. Hier ist - entwicklungstechnisch sauber - nur noch der Aufruf des Repositorys enthalten. Das Ergebnis wird direkt der View übergeben.

PHP - Frameworks - Flow 3

© Archiv

Ausgabe II: Mit Template haben Sie Ausgabe noch besser im Griff.

In der Methode assign(Variable, Wert) kommt zuerst der Name der Fluid-Variablen, dann der Wert. Im vorliegenden Fall sind das die Frameworks aus dem Repository:

/**
* Index action
*
* @return void
*/
public function indexAction() {
$frameworks = $this->
frameworkRepository->findAll();
$this->view->assign('frameworks',
$frameworks);
}

Herausforderer

Flow3 steckt noch in den Kinderschuhen. Aber der moderne Ansatz und später auch die einfache Verbindung mit CMS-Fähigkeiten machen Flow3 zu einer überlegenswerten Alternative.

Wer den Ansatz heute schon mit Typo3 verbinden möchte, hat die Erweiterung extbase und das Templatesystem Fluid zur Verfügung. Beide sind in Typo3 4.3 direkt im Standardumfang dabei und müssen nur noch installiert werden.

Aber auch über Typo3-Grenzen hinaus kann sich Flow3 zu einem ernstzunehmenden Herausforder für etablierte Frameworks entwickeln. Kaum eines der Frameworks geht den Weg moderner Softwareparadigmen so konsequent und entlehnt auch viele Prinzipien aus der Java-Welt.

Wenn dann noch Funktionsumfang und Softwarereife in naher Zukunft stimmen, steht einer positiven Entwicklung von Flow3 nichts mehr im Wege.

Mehr zum Thema

Youtube Sperre umgehen GEMA
Videos freischalten

So umgehen Sie die GEMA-Sperre bei Youtube. Was Sie dazu brauchen, und wie es am einfachsten geht.
Neue Fritzboxen unterstützen den AC-Standard.
WLAN-Geschwindigkeit verdoppeln

Mehr WLAN-Geschwindigkeit: Mit dem WLAN-Standard 802.11ac und den richtigen Geräten und Einstellungen verdoppeln Sie den Datendurchsatz.
Netflix auf dem TV
Programm in der Übersicht

Welche Filme und Serien gibt es bei Netflix eigentlich zu sehen? Was ist neu im Streaming-Angebot? Diese Antworten helfen weiter.
Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
E.T. – Der Außerirdische
Vorschau auf Film- und Serien-Highlights

Amazon Prime Instant Video lockt im Dezember 2016 mit Film-Highlights wie "E.T.", "Fast & Furious 7" und der Serie "Ku’damm 56​".