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

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…