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.

© 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 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.