Alles im Fluss

Teil 4: PHP-Frameworks Teil 9 - Flow 3

11.3.2010 von Redaktion pcmagazin und Tobias Hauser

ca. 1:55 Min
Ratgeber
  1. PHP-Frameworks Teil 9 - Flow 3
  2. Teil 2: PHP-Frameworks Teil 9 - Flow 3
  3. Teil 3: PHP-Frameworks Teil 9 - Flow 3
  4. Teil 4: PHP-Frameworks Teil 9 - Flow 3
  5. Teil 5: PHP-Frameworks Teil 9 - Flow 3

Damit die Framework-Daten auch in das Repository gelangen, benötigen Sie eine Repository-Klasse. Diese legen Sie im Verzeichnis Classes/Domain/Repository an. Datei und Klasse heißen FrameworkRepository, die Datei mit der Endung .php. Sie benötigen für dieses Beispiel keinen individuellen Code, sondern können von der Repository-Klasse von Flow3 erben:

<?php
declare(ENCODING =
'utf-8');
namespace F3\Frame
works\Domain\
Repository;
/**
* Ein Repository für unsere Frameworks
*/
class FrameworkRepository extends \
F3\Flow3\Persistence\Repository {
}
?>

Ausgabe

Damit ist die Model-Schicht abgeschlossen. Nun gilt es, das Modell zu befüllen und auszugeben. Dafür dient uns für den Anfang der StandardController aus dem Verzeichnis Classes/Controller unseres Frameworks-Pakets. Hier müssen Sie das FrameworkRepository einfügen:

/**
* @var F3\Frameworks\Domain\
Repository\FrameworkRepository
* @inject
*/
protected $frameworkRepository;

Dieser Einfügevorgang heißt Code Injection. Sie erkennen das am Schlüsselwort inject. Das heißt, dass der benötigte Code woanders definiert und dann an der gewünschten Stelle verwendet wird. Die zentrale Verwaltung übernimmt das Framework. Zum Testen benötigen Sie ein einzelnes Element für unsere Liste.

PHP - Frameworks - Flow 3
Ausgabe: Eine einfache Liste mit Frameworks lässt sich schnell erstellen.
© Archiv

Das erzeugen Sie in der createAction. Das Objekt wird als Framework- Model-Objekt angelegt, mit Identifier, Namen und Lizenz befüllt und dann zum Repository hinzugefügt:

/**
* Element erstellen
*
* @return void
*/
public function createAction() {
$framework = $this->objectFactory->
create('F3\Frameworks\Domain\Model\
Framework');
$framework->setIdentifier('1');
$framework->setName('Flow3');
$framework->setLicence('GPL');
$this->frameworkRepository->
add($framework);
$this->redirect('index');
}

Am Schluss leitet die create-Action auf die index-Action weiter. Diese wiederum sorgt für die Ausgabe. Im vorliegenden Fall geschieht das in der einfachsten Form direkt, also ohne View. Hier kommt also auch kein Fluid-Template zum Einsatz.

Der Zugriff auf das Repository selbst erfolgt mit der Methode findAll(). Diese und andere Methoden der Repository-Klasse finden Sie in der Flow3-Referenz. Anschließend können Sie mit einer einfachen Schleife alle zurückgelieferten Frameworks durchgehen und entsprechend das Ergebnis in einer Tabelle ausgeben:

/**
* Index action
*
* @return string
*/
public function indexAction() {
$frameworks = $this->
frameworkRepository->findAll();
$ausgabe = '<table border="1"
cellpadding="5">';
$ausgabe .= '<tr><th>ID</th><th>
Framework</th><th>Lizenz</th></tr>';
foreach ($frameworks as $framework) {
$ausgabe .= '<tr>';
$ausgabe .= '<td>' . $framework->
getIdentifier() . '</td>';
$ausgabe .= '<td>' . $framework->
getName() . '</td>';
$ausgabe .= '<td>' . $framework->
getLicence() . '</td>';
$ausgabe .= '</tr>';
}
$ausgabe .= '</table>';
return $ausgabe;
}

Mehr lesen

Chronologische Liste und Netflix-Links

Marvel-Filme- und -Serien: Das ist die richtige Reihenfolge

Neuerscheinungen in der Übersicht

Netflix: Neue Filme und Serien

Vorschau auf Film- und Serien-Highlights

Amazon Prime Video: Neuheiten

Weiter zur Startseite  

Mehr zum Thema

internet, webdesign, adobe,  Illustrator, CS6

Webdesign

Webdesign in Adobe Illustrator CS6

Adobe Illustrator wird im Webdesign immer beliebter. Wie Sie das Tool richtig einsetzen, erfahren Sie hier.

Facebook stellte die neue Suche

Facebook

Facebooks Social Graph Search

Was sind die Implikationen für Unternehmen und Endanwender bei Facebooks neuer Suche Graph Search?

Der BGH erklärt das Internet zur Lebensgrundlage.

Online-Recht

Darauf müssen Sie bei den AGB achten

Allgemeine Geschäftsbedingungen liest sich niemand gerne durch. Sie sind jedoch notwendig und äußerst sinnvoll. Worauf sie achten sollten.

Online-Urheberrecht: Unser Ratgeber bietet Tipps für das Cloud-Recht.

Online-Recht in der Cloud

Wie sieht das Urheberrecht in der Wolke aus?

Dateien werden immer häufiger in der Cloud bereitgestellt. Rechtlich ist das jedoch durchaus problematisch. Wir klären über das Urheberrecht in der…

Logistik im E-Commerce: Prozesse rund um die Logistik.

E-Commerce-Logistik

Logistik im E-Commerce

Für den Erfolg eines Online-Shops sind zahlreiche Faktoren verantwortlich. Neben Produktvielfalt und Darstellung der Waren gehört auch die Logistik.