Zum Inhalt springen
Der Guide für ein smartes Leben.
PHP Alleskönner

Teil 4: PHP-Frameworks Teil VIII - Zend Framework

Autoren: Redaktion pcmagazin und Tobias Hauser • 30.11.2009 • ca. 1:55 Min

public function fetchAll(){$resultSet = $this->getDbTable()->fetchAll();$entries = array();foreach ($resultSet as $row) {$entry = new Default_Model_Framework();$entry->setFrameworkId($row->id)->setName($row->name)->setLicenceId($row->licence_id)->setMapper($this);$entries[...

public function fetchAll()
{
$resultSet = $this->getDbTable()->
fetchAll();
$entries = array();
foreach ($resultSet as $row) {
$entry = new Default_Model_
Framework();
$entry->setFrameworkId($row->id)
->setName($row->name)
->setLicenceId($row->licence_id)
->setMapper($this);
$entries[] = $entry;
}
return $entries;
}

Die Methode holt sich aus der Datenbank alle Einträge als Resultset. Diese Einträge werden dann durchgegangen und jeder Einzelne wird in ein Framework-Model umgewandelt. Hierzu kommen die Methoden zum Einsatz, die im Framework-Model gesetzt sind, um die einzelnen Eigenschaften mit Feldwerten zu füllen.

PHP-Frameworks Teil VIII - Zend Framework
Abgeschlossen: Das Zend Framework ist nun fertig eingerichtet, die Arbeit kann beginnen.
© Archiv

Werfen Sie nun einen Blick ins Model aus den Beispieldateien. Hier finden Sie am Anfang die Eigenschaften, die IDs, Namen und Lizenz-ID aufnehmen. Für jede Eigenschaft gibt es eine get- und eine set-Methode, um sie auszulesen und zu setzen. Diese werden wie oben gesehen vom Mapper verwendet. Einen Ausschnitt mit einigen Auslassungen finden Sie als Download im Internet unter (Zend, Listing 1).

Zum Schluss wird die Mapper-Methode fetchAll() aufgerufen und ihr Ergebnis weitergeleitet.

Controller und View

Um die Daten nun darzustellen, ist nichts weiter nötig, als im Controller auf das Model zuzugreifen und die Daten in eine Variable zu speichern. Ein Controller kann mehrere Aktionen enthalten. Die Standardaktion ist die index-Aktion. Sie wird aufgerufen, wenn der Controller aufgerufen wird.

<?php
class IndexController extends Zend_
Controller_Action
{
public function init() { }
public function indexAction()
{
$framework_model = new Default_
Model_Framework();
$framework_values = $framework_
model->fetchAll();
$this->view->frameworks =
$framework_values;
}
}

Damit die Ausgabe auch sichtbar wird, müssen Sie die Werte aus dem Model an die View zur Darstellung übergeben. View-Variablen definieren Sie über $this->view-> name im Controller. Wir legen eine Variable frameworks an. Innerhalb der View ist sie dann über $this->frameworks zugänglich und kann über eine einfache Schleife in eine Tabelle verwandelt werden:

<html><head><title>PHP Frameworks</title></head><body><div><h1>Frameworks</h1><table id="frameworks" border=
"1" cellpadding="5"><tr><th>Framework</th><th>Lizenz</th></tr><?php
foreach ($this->frameworks as
$entry) {
echo '<tr><td>';
echo $entry->name;
echo '</td><td>';
echo $entry->licenceId;
echo '</td></tr>';
}
?></table></div></body></html>