Alles im Fluss
Teil 5: PHP-Frameworks Teil 9 - Flow 3
- PHP-Frameworks Teil 9 - Flow 3
- Teil 2: PHP-Frameworks Teil 9 - Flow 3
- Teil 3: PHP-Frameworks Teil 9 - Flow 3
- Teil 4: PHP-Frameworks Teil 9 - Flow 3
- 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.

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.
Gutscheine
-
Motatos
Motatos Gutschein: 100% Rabatt auf 4 Bestseller für kurze Zeit Zum Gutschein
bis 28.09.2023+ bis zu 7,5% Cashback(statt50,0€) -
FARFETCH
15% FARFETCH Promo Rabatt Code Zum Gutschein
bis 08.10.2023 -
Uber Eats
5€ mit dem Uber Eats Gutschein sparen Zum Gutschein
bis 30.09.2023+ bis zu 2,50€ Cashback -
eufy
Exklusiver 15% eufy Gutschein auf ALLES Zum Gutschein
bis 01.10.2023+ bis zu 8,0% Cashback(statt40,0€) -
Berliner Kaffeerösterei
Exklusiver 10% Gutschein Code auf ALLES Zum Gutschein
bis 08.10.2023+ bis zu 8,0% Cashback(statt25,0€) -
Geero
EXKLUSIV: 6% Gutschein auf alle Geero2 Modelle Zum Gutschein
bis 27.09.2023+ bis zu 3,0% Cashback(statt15,0€)