Grundlagen der Web-Entwicklung Wintersemester 2010/2011

Transcrição

Grundlagen der Web-Entwicklung Wintersemester 2010/2011
MathematischNaturwissenschaftliche Fakultät
Fachbereich Informatik
Informationsdienste
Grundlagen der Web-Entwicklung
Wintersemester 2010/2011
Lösung zu Aufgabenblatt 9
27. Das ZEND-Framework ist aktuell in der Version 1.11.1 (Version 2 ist schon angekündigt). Es
werden drei Pakete bereit gestellt: gebündelt mit dem ZEND Server, volles Paket ohne Server und
minimales Paket; alle Pakete jeweils für Linux/Unix (tar.gz) und Windows (zip). Das eigentliche
Framework wird ungebündelt als „Full“ und „Minimal“ bereit gestellt, dazu noch die
Dokumentation (pdf). Wir verwenden am sinnvollsten das eigentliche Framework „Full“ als tar.gz:
Zend-Framework-11.1.1.tar.gz (Download ohne Registrierung möglich).
Entpacken mit gunzip, tar –xvf
Zur Installation ist lediglich in der php.ini der include-Path anzupassen:
Über phpinfo ist zu sehen, welche php.ini verwendet wird; dort ist zu ergänzen:
include_path = ".:/home-link/zrvwa01/zf/ZendFramework-1.11.1/library"
Um das Dienstprogramm zf direkt nutzen zu können, ist auch die normale Umgebungsvariable
PATH anzupassen (s.u.).
Für die neue Konfiguration des Apache wird zusätzlich der Schalter
--enable-rewrite
benötigt; dann kann die Rewrite-Rule
RewriteEngine On
RewriteBase /
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
ergänzt werden.
Erzeugen des Projektes:
~/public_html/zf$ zf.sh create project myzf
Creating project at /home/zrvwa01/public_html/zf/myzf
Dies setzt voraus, dass sowohl zf.sh als auch php im Pfad enthalten sind, etwa durch:
PATH=$PATH:/home-link/zrvwa01/zf/ZendFramework-1.11.1/bin
PATH=$PATH:/home-link/zrvwa01/php/bin
Konfiguration im Ordner ~/public_html/zf/myzf/applications/config in der Datei application.ini.
Der Front-Controller index.php liegt im Ordner myzf/public.
In der httpd.conf ist noch das DocumentRoot anzupassen, damit direkt mit der obenm definierten
RewriteRule die index.php des ZEND-Projektes ausgeliefert wird:
DocumentRoot "/home-link/<Ihr Login>/public_html/zf/myzf/public"
Der Action-Controller im Ordner
~/public_html/zf/myzf/application/controllers
ist anzupassen. Es entsteht dann zunächst folgende Ausgabe:
Um zu einer angepassten Ausgabe ohne die Werbung für das ZEND Framework zu gelangen, ist die
View anzupassen: Die Datei index.phtml im Ordner
~/public_html/zf/myzf/application/views/scripts/index
28. Im Unterordner
~/public_html/zf/myzf/application/controllers
ist ein ActionController zu schreiben, etwa die folgende Datei TestAction.php:
<?php
class TestController extends Zend_Controller_Action
{
public function init()
{
/* Initialize action controller here */
}
public function indexAction()
{
// action body
echo ("Ich bin der <B>TestController</B>");
Seite 2/3
}
public function testAction()
{
echo ("Meine Wuensche fuer 2011:<BR />Mehr Studiengebuehren<BR
/>Weniger Vorlesungen");
}
}
Der Zugriff auf die Methode index erfolgt durch die URL
http://134.2.2.38:<Ihr Port>/Test
Der Zugriff auf die Methode test erfolgt durch die URL
http://134.2.2.38:<Ihr Port>/Test/test
Allerdings funktionieren beide nicht, weil es keine View für den Controller gibt.
Dies kann durch Umkonfiguration des Projektes gelöst werden, oder durch Schreiben einer View.
Um eine View zu ergängen, erzeugen wir einen neuen Unterordner
~/public_html/zf/myzf/application/views/scripts/test
und legen dort für jede Methode eine passende phtml-Datei an, also index.phtml und test.phtml.
Seite 3/3