PHP-Enzyklopädie

Teil 4: Serie: PHP-Frameworks Teil 7 - eZ Components

Im einfachen Beispiel reicht es, den Aufruf des www-Verzeichnisses mit dem Standard-Controller frameworksController zu verbinden. Dort soll eine Methode list aufgerufen werden, die eine Liste mit Frameworks aus der Datenbank aufruft:

class frameworksRouter extends
ezcMvcRouter {
public function createRoutes() {
return array(
new ezcMvcRailsRoute('/', 'frame
worksController', 'list'),
);
}
}

Controller, View, Template

Das Herzstück ist der Controller. Er landet in der Datei lib/controllers/ frameworks.php. Für den Start fällt die Datenabfrage weg. Die Daten kommen aus einem einfachen Array. Die Methode in frameworksController heißt doList(). Sie erinnern sich an das Routing: Dort wurde list aufgerufen. Mit dem Zusatz do und großem Anfangsbuchstaben gelingt hier das automatische Matching:

class frameworksController extends
ezcMvcController {
private $frameworks = array('eZ
Components', 'Akelos', 'Zend Framework');
public function doList() {
$ret = new ezcMvcResult;
$ret->variables['frameworks'] =
$this->frameworks;
return $ret;
}
}

Die Methode doList() liefert ein ezcMvc Result-Objekt zurück. Dieses Objekt erhält eine Variable frameworks. Sie wiederum wird von den Mvc Tools an die View übergeben. Und die ist nun als Nächstes dran. Sie landet in views/root.php. Der Name ist hier - gemäß autoload.php - frei wählbar. Die View ist eine Klasse, die in der Methode createZones() die Einzelteile des Layouts in einem Array zusammenfügt:

class frameworksRootView extends
ezcMvcView {
function createZones($layout) {
$zones = array();
$zones[] = new ezcMvcTemplateView
Handler('menu', 'menu.ezt');
$zones[] = new ezcMvcPhpViewHandler(
'content', '../templates/frameworks_list.php');
$zones[] = new ezcMvcTemplateView
Handler('page_layout', 'layout.ezt');
return $zones;
}
}

Im vorliegenden Beispiel gibt es drei Zonen: das eigentliche Seitenlayout und ein Menü, beide als vorkompilierbare .ezt-Template-Dateien und ein von PHP behandelter Bestandteil im templates-Verzeichnis.

Die Template-Dateien sind sehr einfach aus HTML-Code aufgebaut und enthalten jeweils Platzhalter in einer einfachen Template-Sprache. Das Haupttemplate in templates/layout.ezt enthält die anderen beiden Bestandteile:

{use $menu, $content}<html><head><title>Liste mit Frameworks</title></head><body>
{raw $menu}<br/>
{raw $content}</body></html>

Das Menü wird testweise mit einem Link auf das Wurzelverzeichnis versehen:

{use $installRoot}<div id="menu"><a href="{$installRoot}/">Home</a></div>

Mehr zum Thema

HTML5: Quick Reference Guide
Ratgeber: "HTML5"

Die wichtigsten Tags auf einen Blick: In unserem praktischen Arbeitsblatt finden Sie einen wertvollen Begleiter für die Umstellung Ihrer Webprojekte…
internet, webdesign, google, content, ranking, seo, suchmaschine
Ratgeber: Urheberrecht

Einzigartige Inhalte bieten Lesern Mehrwert und sind ein wichtiges Qualitätsmerkmal. Ärgerlich, wenn sich jemand durch Kopieren an fremden…
Die besten HTML5-Tipps
Neue Tipps & Tricks für blitz.io

Wer die Leistung einer Applikation ermitteln möchte, braucht keine Skripte zu schreiben, sondern kann einen der zahlreichen Online-Dienste…
image.jpg
Ratgeber: Webentwicklung

Die clientseitige Javascript-Entwicklung bietet fast keine Entwicklungsumgebungen und auch keine vernünftigen Werkzeuge zur Fehlersuche. Eine der…
internet, webdesign, meteor, webapplikationen
Ratgeber

Mit Meteor sollen Entwickler in kurzer Zeit Umgebungen für Webapplikationen erstellen können, ohne sich um lästige Details kümmern zu müssen. Wir…