von Carsten Lucke, 28.02.2008

Einführung in die Entwicklung und grundlegende Konzepte: Workshop Zend Framework

Aus dem
t3n Magazin Nr. 11

Jetzt kaufen

Die Klasse IndexController

<?php
require_once 'Zend/Controller/Action.';
class IndexController extends Zend_Controller_Action
{
	public function indexAction() {}
}
?>

Listing 3

Als letztes muss noch der passende View, also die grafische Oberfläche, zu unserem „IndexController“ und der Index-Action erstellt werden. Zuerst legen Sie dazu die Datei an. Doch wo? Auch hier spielt das URL-Mapping eine wichtige Rolle. Allgemein liegen die View-Files sortiert nach Controllern im Verzeichnis „application/views/scripts“. Da dies der View für den „IndexController“ ist, gehört er dort in den Ordner „index“, und da es sich um die „indexAction“ handelt, muss der Name der Datei „index.phtml“ lauten. Ergo erstellen Sie die Datei „application/views/scripts/index/index.phtml“.

Die View-Datei für den IndexController und die indexAction

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
		"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>Zend Framework - Hello World</title>
	</head>
	<body>
		<h1>Hallo T3N!</h1>
	</body>
</html>

Listing 4

Jetzt können Sie die Seite im Browser aufrufen und sehen ein freundliches „Hallo T3N!“. Sie mögen sich vielleicht die Frage stellen, wie das Ganze funktioniert. Zuerst einmal klappt das Zusammenspiel zwischen Controller und View deswegen, weil wir uns an die Konventionen gehalten haben. Unser Controller und die View-Datei liegen genau da, wo die im Hintergrund arbeitenden MVC-Komponenten sie erwarten, und auch die Benennung der Dateien folgt deren Erwartungen. Schauen wir uns an, wie der Request abgearbeitet wird: Der Front-Controller, den wir in der Datei „index.php“ hochfahren, nimmt initial den Request entgegen und entscheidet anhand der URL, dass der „IndexController“ und die Index-Action aufzurufen sind. Diese Klasse haben wir angelegt, jedoch haben wir nur einen leeren Methodenrumpf erstellt. Dass der korrekte View gerendert wird, haben wir einem Action-Helper zu verdanken, der per Default registriert ist. Es handelt sich um die Klasse „Zend_Controller_Action_Helper_ViewRenderer“, die automatisch den zum aktuellen Controller-Action-Paar passenden View rendert [6]. Dadurch muss nicht in jedem Controller und jeder Action eine View-Instanz erstellt werden, der gesagt wird, welche View-Datei gerendert werden soll. Dieses Standardverhalten kann bei Bedarf angepasst werden, mehr dazu später.

Seite:  1 2 3 4 5 6 7 8 9

Empfohlene Artikel