Entwicklung & Design

Ein Tutorial zum Einstieg in das PHP-Framework: Anwendungsentwicklung mit Symfony

Seite 6 / 7

Ausschnitt: actions.class.php
public function executeIndex() {
 return $this->forward('blog', 'list'); }
public function executeList() {
 $this->blog_entrys = BlogEntryPeer::doSelect(new Criteria()); }

Listing 7

In diesem Code-Ausschnitt werden zwei Actions definiert: Index und List. Index ist immer die Default-Action eines Moduls und verweist in diesem Beispiel einfach weiter auf die List-Action. Die „forward“-Funktion erwartet als Parameter den Namen des Moduls und den Namen der Action innerhalb dieses Moduls, die angesprungen werden soll. In der List-Action wiederum wird die Member-Variable „blog_entrys“ unter Verwendung des ORM-Layers mit einer Liste von Blog-Einträgen befüllt. Symfony fügt bei Variablennamen, die eine Liste von mehreren Objekten beinhalten, automatisch ein Plural-s am Ende an (daher steht hier im automatisch erzeugten Code nicht „blog_entries“, sondern „blog_entrys“). Das statische Objekt BlogEntryPeer wird von Propel bereitgestellt, um die eigentlichen BlogEntry-Objekte zu verwalten. Dementsprechend wird hier auf dem Peer-Objekt die Funktion „doSelect“ aufgerufen, um eine Liste von blog_entry-Objekten zu erhalten. Bisher befüllt die Action also lediglich eine Member-Variable mit einer Liste. Alles weitere findet im Template listSuccess.php statt:

Ausschnitt: listSuccess.php
<?php foreach ($blog_entrys as $blog_entry): ?>
<tr>
 <td><?php echo link_to($blog_entry->getId(), 'blog/show?id='.$blog_entry->getId()) ?></td>
 <td><?php echo $blog_entry->getTitle() ?></td>
 <td><?php echo $blog_entry->getContent() ?></td>
 <td><?php echo $blog_entry->getDeleted() ?></td>
 <td><?php echo $blog_entry->getCreatedAt() ?></td>
 <td><?php echo $blog_entry->getUpdatedAt() ?></td>
 </tr>
<?php endforeach; ?>

Listing 8

Hier steht die oben gefüllte Member-Variable im globalen Scope zur Verfügung und kann einfach durchiteriert werden. Die „link_to“-Helper-Funktion erzeugt in der Ausgabe einen Link auf den jeweiligen Blog-Eintrag. In den über den Softlink verfügbaren Quellen zu diesem Tutorial haben wir die Tabelle aus dem obigen Template verbannt und die Gesamterscheinung mit CSS ansehnlicher gestaltet.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung