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