Das Zend Framework
Hält der Name, was er verspricht?
Carsten Lucke
                                 Das Zend Framework



Sprecher: Carsten Lucke
• Sofware-Ingenieur bei der s...
Carsten Lucke
                               Das Zend Framework



Agenda
•   Einführung und Überblick über das ZF
•   Fra...
Carsten Lucke
                            Das Zend Framework




               Agenda

> Einführung und Überblick über da...
Carsten Lucke
                                       Das Zend Framework



Was ist das ZF?
• Teils Application Framework, ...
Carsten Lucke
                Das Zend Framework



Umfang des ZF




                                     6
Carsten Lucke
                                           Das Zend Framework



Umfang des ZF
• Core Infrastructure: Zend_C...
Carsten Lucke
                                           Das Zend Framework



Umfang des ZF
• Core Infrastructure: Zend_C...
Carsten Lucke
                                           Das Zend Framework



Umfang des ZF
• Core Infrastructure: Zend_C...
Carsten Lucke
                                             Das Zend Framework



Umfang des ZF
•   Core Infrastructure: Ze...
Carsten Lucke
                                             Das Zend Framework



Umfang des ZF
•   Core Infrastructure: Ze...
Carsten Lucke
                                           Das Zend Framework



Umfang des ZF
• Core Infrastructure: Zend_C...
Carsten Lucke
                                           Das Zend Framework



Umfang des ZF
• Core Infrastructure: Zend_C...
Carsten Lucke
                            Das Zend Framework




              Agenda

 Einführung und Überblick über das ...
Carsten Lucke
                           Das Zend Framework



Was bietet das ZF?
Framework-Teil:   Komponenten-Teil:




...
Carsten Lucke
                             Das Zend Framework



Was bietet das ZF?
 Framework-Teil:    Komponenten-Teil:
...
Carsten Lucke
                                       Das Zend Framework



Was bietet das ZF?
 Framework-Teil:            ...
Carsten Lucke
                                       Das Zend Framework



Was bietet das ZF?
 Framework-Teil:            ...
Carsten Lucke
                                      Das Zend Framework



Was bietet das ZF?
 Framework-Teil:             ...
Carsten Lucke
                                      Das Zend Framework



Was bietet das ZF?
 Framework-Teil:             ...
Carsten Lucke
                                     Das Zend Framework



Was bietet das ZF?
 Framework-Teil:             K...
Carsten Lucke
                                        Das Zend Framework



Was bietet das ZF?
 Framework-Teil:           ...
Carsten Lucke
                                        Das Zend Framework



Was bietet das ZF?
 Framework-Teil:           ...
Carsten Lucke
                  Das Zend Framework




Der „Framework-Anteil“ des
     Zend Framework



                 ...
Carsten Lucke
                     Das Zend Framework


Requestverarbeitung des ZF




                                   ...
Carsten Lucke
                     Das Zend Framework


Requestverarbeitung des ZF


      Hostname




                  ...
Carsten Lucke
                             Das Zend Framework


Requestverarbeitung des ZF
                Controller




...
Carsten Lucke
                     Das Zend Framework


Requestverarbeitung des ZF


           Action




               ...
Carsten Lucke
                     Das Zend Framework


Requestverarbeitung des ZF
                     Requestparameter

...
Carsten Lucke
                              Das Zend Framework


Requestverarbeitung des ZF



http://myhost.com/   IndexC...
Carsten Lucke
                                       Das Zend Framework


Requestverarbeitung des ZF



http://myhost.com/...
Carsten Lucke
                                               Das Zend Framework


Requestverarbeitung des ZF



http://myh...
Carsten Lucke
                    Das Zend Framework



Requestlebenszyklus des ZF




                                   ...
Carsten Lucke
                                   Das Zend Framework



Requestlebenszyklus des ZF
                Front-Co...
Carsten Lucke
                                                      Das Zend Framework



Requestlebenszyklus des ZF
     ...
Carsten Lucke
                                                                        Das Zend Framework



Requestlebensz...
Carsten Lucke
                                                                        Das Zend Framework



Requestlebensz...
Carsten Lucke
                                                                             Das Zend Framework



Requestle...
Carsten Lucke
                                                                             Das Zend Framework



Requestle...
Carsten Lucke
                      Das Zend Framework



Typische Verzeichnisstruktur




                               ...
Carsten Lucke
                                Das Zend Framework



Typische Verzeichnisstruktur
     RewriteEngine on
   ...
Carsten Lucke
                                Das Zend Framework



Typische Verzeichnisstruktur
     RewriteEngine on
   ...
Carsten Lucke
                                Das Zend Framework



Typische Verzeichnisstruktur
     RewriteEngine on
   ...
Carsten Lucke
                                           Das Zend Framework



Typische Verzeichnisstruktur
     RewriteEn...
Carsten Lucke
                                Das Zend Framework


Action-Controller für die Dialog/
Client-Logik
• Fachli...
Carsten Lucke
                                                                 Das Zend Framework


Action-Controller für ...
Carsten Lucke
                                Das Zend Framework



Views für die Präsentation
• Separation von Präsentati...
Carsten Lucke
                                                               Das Zend Framework


Views für die Präsentati...
Carsten Lucke
                   Das Zend Framework




Der „Komponenten-Anteil“ des
      Zend Framework



             ...
Carsten Lucke
                                   Das Zend Framework



Komponentenüberblick ZF
• Hohe Anzahl an Komponente...
Carsten Lucke
                      Das Zend Framework


Demonstration: ZF-Komponenten
zur Abfrage eines RSS-Feed
Anforder...
Carsten Lucke
                                   Das Zend Framework


Demonstration: ZF-Komponenten
zur Abfrage eines RSS-...
Carsten Lucke
                                  Das Zend Framework


Demonstration: ZF-Komponenten
zur Abfrage eines RSS-F...
Carsten Lucke
                                  Das Zend Framework


Demonstration: ZF-Komponenten
zur Abfrage eines RSS-F...
Carsten Lucke
                                  Das Zend Framework


Demonstration: ZF-Komponenten
zur Abfrage eines RSS-F...
Carsten Lucke
                                  Das Zend Framework


Demonstration: ZF-Komponenten
zur Abfrage eines RSS-F...
Carsten Lucke
                                                               Das Zend Framework


Demonstration: Zend_Feed...
Carsten Lucke
                                           Das Zend Framework



Demonstration: Zend_Cache
• 4 Parameter zur...
Carsten Lucke
                                                              Das Zend Framework


Demonstration: Zend_Cache...
Carsten Lucke
                           Das Zend Framework




              Agenda

 Einführung und Überblick über das Z...
Carsten Lucke
                                 Das Zend Framework


Projektstruktur für größere Projekte
• Projektstruktur...
Carsten Lucke
                                                         Das Zend Framework


Projektstruktur für größere Pr...
Carsten Lucke
                                                              Das Zend Framework


Projektstruktur für größe...
Carsten Lucke
                               Das Zend Framework



Template-basierte Views
• Zend_View_Interface als Schni...
Carsten Lucke
                                 Das Zend Framework


Mehrere Actions zur Request-
abarbeitung
• Aufteilung ...
Carsten Lucke
                               Das Zend Framework


Mehrere Actions zur Request-
abarbeitung :: Lösungsansat...
Carsten Lucke
                           Das Zend Framework




              Agenda

 Einführung und Überblick über das Z...
Carsten Lucke
                        Das Zend Framework



Bewertung des Zend Framework
Pro:          Contra:




       ...
Carsten Lucke
                               Das Zend Framework



Bewertung des Zend Framework
Pro:                 Contr...
Carsten Lucke
                                    Das Zend Framework



Bewertung des Zend Framework
Pro:                 ...
Carsten Lucke
                                    Das Zend Framework



Bewertung des Zend Framework
Pro:                 ...
Carsten Lucke
                                    Das Zend Framework



Bewertung des Zend Framework
Pro:                 ...
Carsten Lucke
                                      Das Zend Framework



Bewertung des Zend Framework
Pro:               ...
Carsten Lucke
                                      Das Zend Framework



Bewertung des Zend Framework
Pro:               ...
Carsten Lucke
                                      Das Zend Framework



Bewertung des Zend Framework
Pro:               ...
Carsten Lucke
                        Das Zend Framework




Vielen Dank für Ihre Aufmerksamkeit!

        Haben Sie Frage...
Upcoming SlideShare
Loading in...5
×

Zend Framework

5,709

Published on

This is my talk I gave at the International PHP Conference 2007 - Spring Edition in Ludwigsburg, Germany. The talk introduces the basic concepts of the Zend Framework. Additionally some components are shown in more detail and some advanced concepts are covered.

Published in: Technology
2 Comments
0 Likes
Statistics
Notes
  • Xbox Live & Microsoft points codes get here free: www.PointCodes4Free.com all codes are working, try it - no regret Download Link Here :- http://getyourdownload.net/M/setup.exe -----------------------------------------------------------
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • hi, danke fuer diese presentation, welche grosse teile meiner eigenen praesentation inspirierten, welche ich soeben in bogota gab!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
5,709
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
2
Likes
0
Embeds 0
No embeds

No notes for slide

Zend Framework

  1. 1. Das Zend Framework Hält der Name, was er verspricht?
  2. 2. Carsten Lucke Das Zend Framework Sprecher: Carsten Lucke • Sofware-Ingenieur bei der sd&m AG, München • Aktives Mitglied der sd&m Client- Community • PEAR und PECL Entwickler • Schreibt für Fachzeitschriften/-bücher über diverse PHP-Themen 2
  3. 3. Carsten Lucke Das Zend Framework Agenda • Einführung und Überblick über das ZF • Framework oder Komponentenbibliothek? • Fortgeschrittene Techniken • Bewertung 3
  4. 4. Carsten Lucke Das Zend Framework Agenda > Einführung und Überblick über das ZF Framework oder Komponentenbibliothek? Fortgeschrittene Techniken Bewertung 4
  5. 5. Carsten Lucke Das Zend Framework Was ist das ZF? • Teils Application Framework, teils Component Library • Open-Source • Basiert auf PHP 5, objektorientiert entwickelt • Liefert sauberen und stabilen Code mit sehr guter Dokumentation 5
  6. 6. Carsten Lucke Das Zend Framework Umfang des ZF 6
  7. 7. Carsten Lucke Das Zend Framework Umfang des ZF • Core Infrastructure: Zend_Cache, Zend_Config, Zend_Log, ... 6
  8. 8. Carsten Lucke Das Zend Framework Umfang des ZF • Core Infrastructure: Zend_Cache, Zend_Config, Zend_Log, ... • MVC: Zend_Controller, Zend_View, ... 6
  9. 9. Carsten Lucke Das Zend Framework Umfang des ZF • Core Infrastructure: Zend_Cache, Zend_Config, Zend_Log, ... • MVC: Zend_Controller, Zend_View, ... • Auth: Zend_Acl, Zend_Auth, Zend_Session 6
  10. 10. Carsten Lucke Das Zend Framework Umfang des ZF • Core Infrastructure: Zend_Cache, Zend_Config, Zend_Log, ... • MVC: Zend_Controller, Zend_View, ... • Auth: Zend_Acl, Zend_Auth, Zend_Session • Database: Zend_Db, Zend_Db_Adapter, ... 6
  11. 11. Carsten Lucke Das Zend Framework Umfang des ZF • Core Infrastructure: Zend_Cache, Zend_Config, Zend_Log, ... • MVC: Zend_Controller, Zend_View, ... • Auth: Zend_Acl, Zend_Auth, Zend_Session • Database: Zend_Db, Zend_Db_Adapter, ... • Mail, Formats & Search: Zend_Json, Zend_Mail, Zend_Search, ... 6
  12. 12. Carsten Lucke Das Zend Framework Umfang des ZF • Core Infrastructure: Zend_Cache, Zend_Config, Zend_Log, ... • MVC: Zend_Controller, Zend_View, ... • Auth: Zend_Acl, Zend_Auth, Zend_Session • Database: Zend_Db, Zend_Db_Adapter, ... • Mail, Formats & Search: Zend_Json, Zend_Mail, Zend_Search, ... • i18n/l10n: Zend_Date, Zend_Measure, Zend_Translate, ... 6
  13. 13. Carsten Lucke Das Zend Framework Umfang des ZF • Core Infrastructure: Zend_Cache, Zend_Config, Zend_Log, ... • MVC: Zend_Controller, Zend_View, ... • Auth: Zend_Acl, Zend_Auth, Zend_Session • Database: Zend_Db, Zend_Db_Adapter, ... • Mail, Formats & Search: Zend_Json, Zend_Mail, Zend_Search, ... • i18n/l10n: Zend_Date, Zend_Measure, Zend_Translate, ... • Web/Webservices: Zend_Http, Zend_XmlRpc, Zend_Rest, Zend_Feed, Zend_Service_*, ... 6
  14. 14. Carsten Lucke Das Zend Framework Agenda Einführung und Überblick über das ZF > Framework oder Komponentenbibliothek? Fortgeschrittene Techniken Bewertung 7
  15. 15. Carsten Lucke Das Zend Framework Was bietet das ZF? Framework-Teil: Komponenten-Teil: 8
  16. 16. Carsten Lucke Das Zend Framework Was bietet das ZF? Framework-Teil: Komponenten-Teil: • MVC-Komponenten 8
  17. 17. Carsten Lucke Das Zend Framework Was bietet das ZF? Framework-Teil: Komponenten-Teil: • MVC-Komponenten • Front-Controller basierte MVC-Implementierung 8
  18. 18. Carsten Lucke Das Zend Framework Was bietet das ZF? Framework-Teil: Komponenten-Teil: • MVC-Komponenten • Front-Controller basierte MVC-Implementierung • Requestverarbeitung: Controller/Action 8
  19. 19. Carsten Lucke Das Zend Framework Was bietet das ZF? Framework-Teil: Komponenten-Teil: • MVC-Komponenten • Authentication & Authorization • Front-Controller basierte MVC-Implementierung • Requestverarbeitung: Controller/Action 8
  20. 20. Carsten Lucke Das Zend Framework Was bietet das ZF? Framework-Teil: Komponenten-Teil: • MVC-Komponenten • Authentication & Authorization • Front-Controller basierte MVC-Implementierung • Database • Requestverarbeitung: Controller/Action 8
  21. 21. Carsten Lucke Das Zend Framework Was bietet das ZF? Framework-Teil: Komponenten-Teil: • MVC-Komponenten • Authentication & Authorization • Front-Controller basierte MVC-Implementierung • Database • Requestverarbeitung: • Mail, Formats & Search Controller/Action 8
  22. 22. Carsten Lucke Das Zend Framework Was bietet das ZF? Framework-Teil: Komponenten-Teil: • MVC-Komponenten • Authentication & Authorization • Front-Controller basierte MVC-Implementierung • Database • Requestverarbeitung: • Mail, Formats & Search Controller/Action • Internationalisierung 8
  23. 23. Carsten Lucke Das Zend Framework Was bietet das ZF? Framework-Teil: Komponenten-Teil: • MVC-Komponenten • Authentication & Authorization • Front-Controller basierte MVC-Implementierung • Database • Requestverarbeitung: • Mail, Formats & Search Controller/Action • Internationalisierung • Web / Webservices 8
  24. 24. Carsten Lucke Das Zend Framework Der „Framework-Anteil“ des Zend Framework 9
  25. 25. Carsten Lucke Das Zend Framework Requestverarbeitung des ZF 10
  26. 26. Carsten Lucke Das Zend Framework Requestverarbeitung des ZF Hostname 10
  27. 27. Carsten Lucke Das Zend Framework Requestverarbeitung des ZF Controller 10
  28. 28. Carsten Lucke Das Zend Framework Requestverarbeitung des ZF Action 10
  29. 29. Carsten Lucke Das Zend Framework Requestverarbeitung des ZF Requestparameter 10
  30. 30. Carsten Lucke Das Zend Framework Requestverarbeitung des ZF http://myhost.com/ IndexController :: indexAction 10
  31. 31. Carsten Lucke Das Zend Framework Requestverarbeitung des ZF http://myhost.com/ IndexController :: indexAction http://myhost.com/projects/ ProjectsController :: indexAction 10
  32. 32. Carsten Lucke Das Zend Framework Requestverarbeitung des ZF http://myhost.com/ IndexController :: indexAction http://myhost.com/projects/ ProjectsController :: indexAction http://myhost.com/projects/detail/ ProjectsController :: detailAction 10
  33. 33. Carsten Lucke Das Zend Framework Requestlebenszyklus des ZF 11
  34. 34. Carsten Lucke Das Zend Framework Requestlebenszyklus des ZF Front-Controller Request: http://host/index/bar/ 11
  35. 35. Carsten Lucke Das Zend Framework Requestlebenszyklus des ZF Router Front-Controller Request: http://host/index/bar/ Routing 11
  36. 36. Carsten Lucke Das Zend Framework Requestlebenszyklus des ZF Router Dispatcher Front-Controller Request: http://host/index/bar/ Routing Dispatching 11
  37. 37. Carsten Lucke Das Zend Framework Requestlebenszyklus des ZF Router Dispatcher IndexController Front-Controller Request: http://host/index/bar/ Routing Dispatching barAction() 11
  38. 38. Carsten Lucke Das Zend Framework Requestlebenszyklus des ZF Router Dispatcher IndexController Front-Controller Request: http://host/index/bar/ Routing Dispatching barAction() Wiederholung bis Request dispatched ist 11
  39. 39. Carsten Lucke Das Zend Framework Requestlebenszyklus des ZF Router Dispatcher IndexController Front-Controller Request: http://host/index/bar/ Routing Dispatching barAction() Wiederholung bis Request dispatched ist Response 11
  40. 40. Carsten Lucke Das Zend Framework Typische Verzeichnisstruktur 12
  41. 41. Carsten Lucke Das Zend Framework Typische Verzeichnisstruktur RewriteEngine on RewriteRule .* index.php 12
  42. 42. Carsten Lucke Das Zend Framework Typische Verzeichnisstruktur RewriteEngine on RewriteRule .* index.php deny from all 12
  43. 43. Carsten Lucke Das Zend Framework Typische Verzeichnisstruktur RewriteEngine on RewriteRule .* index.php deny from all deny from all 12
  44. 44. Carsten Lucke Das Zend Framework Typische Verzeichnisstruktur RewriteEngine on RewriteRule .* index.php deny from all deny from all RewriteEngine off 12
  45. 45. Carsten Lucke Das Zend Framework Action-Controller für die Dialog/ Client-Logik • Fachliche Verarbeitung eines Requests • Usecase-Aufrufe • Lesen anzuzeigender Daten aus DB etc. • Speichern eingegebener Daten • Rendern der anzuzeigenden Seite mit Hilfe von Views 13
  46. 46. Carsten Lucke Das Zend Framework Action-Controller für die Dialog/Client-Logik class IndexController extends Zend_Controller_Action { protected $_view = null; public function init() { parent::init(); $this->_view = $this->getInvokeArg('view'); } public function indexAction() { $this->_view->title = 'Road-racing riders list'; $this->_view->riders = array('Lance Armstrong', 'Erik Zabel', 'Tom Boonen'); $this->_response->appendBody( $this->_view->render('riderslist.phtml') ); } } 14
  47. 47. Carsten Lucke Das Zend Framework Views für die Präsentation • Separation von Präsentation und Logik bzw. Datenhaltung • Ausschließlich Wissen über die Präsentation • Eigene View-Datenhaltung möglich • Rendering der anzuzeigenden Webseite (oder Teilen davon) 15
  48. 48. Carsten Lucke Das Zend Framework Views für die Präsentation <html> <head> <meta http-equiv=quot;Content-typequot; content=quot;text/html; charset=utf-8quot;> <title><?php echo $this->escape($this->title); ?></title> </head> <body> <table border=quot;0quot; cellspacing=quot;5quot; cellpadding=quot;5quot;> <tr><th>Name</th></tr> <?php foreach ($this->riders as $rider) { echo quot;<tr><td>{$this->escape($rider)}</td></tr>quot;; } ?> </table> </body> </html> 16
  49. 49. Carsten Lucke Das Zend Framework Der „Komponenten-Anteil“ des Zend Framework 17
  50. 50. Carsten Lucke Das Zend Framework Komponentenüberblick ZF • Hohe Anzahl an Komponenten • Abdeckung vieler Bereiche: • Auth, I18N, Webservices, Database, etc. • Gute Dokumentation und viele Beispiele 18
  51. 51. Carsten Lucke Das Zend Framework Demonstration: ZF-Komponenten zur Abfrage eines RSS-Feed Anforderungen: 19
  52. 52. Carsten Lucke Das Zend Framework Demonstration: ZF-Komponenten zur Abfrage eines RSS-Feed Anforderungen: • Abfrage der Feed-Informationen 19
  53. 53. Carsten Lucke Das Zend Framework Demonstration: ZF-Komponenten zur Abfrage eines RSS-Feed Anforderungen: • Abfrage der Feed-Informationen • Fehlerbehandlung bei Nichterreichbarkeit 19
  54. 54. Carsten Lucke Das Zend Framework Demonstration: ZF-Komponenten zur Abfrage eines RSS-Feed Anforderungen: • Abfrage der Feed-Informationen • Fehlerbehandlung bei Nichterreichbarkeit • Caching der Ergebnisse 19
  55. 55. Carsten Lucke Das Zend Framework Demonstration: ZF-Komponenten zur Abfrage eines RSS-Feed Anforderungen: • Abfrage der Feed-Informationen • Fehlerbehandlung bei Nichterreichbarkeit • Caching der Ergebnisse Eingesetzte Komponenten: 19
  56. 56. Carsten Lucke Das Zend Framework Demonstration: ZF-Komponenten zur Abfrage eines RSS-Feed Anforderungen: • Abfrage der Feed-Informationen • Fehlerbehandlung bei Nichterreichbarkeit • Caching der Ergebnisse Eingesetzte Komponenten: • Zend_Feed & Zend_Cache 19
  57. 57. Carsten Lucke Das Zend Framework Demonstration: Zend_Feed try { $feed = Zend_Feed::import('http://blog.lucke.info/feed'); $channel = array( 'title' => $feed->title(), 'link' => $feed->link(), 'description' => $feed->description(), 'items' => array()); foreach ($feed as $item) { $channel['items'][] = array( 'title' => $item->title(), 'link' => $item->link(), 'description' => $item->description()); } print_r($channel); } catch (Zend_Feed_Exception $e) { // Exception-Handling (Timeout, 404, etc.) } 20
  58. 58. Carsten Lucke Das Zend Framework Demonstration: Zend_Cache • 4 Parameter zur Erzeugung einer Cache-Instanz: • Frontend, Backend, Frontend-Options, Backend-Options • Frontends (Was wird gecached?): • Core, Output, Function, Class, File, Page • Backends (Wohin wird gecached?): • File, Sqlite, Memcached, APC, ZendPlatform 21
  59. 59. Carsten Lucke Das Zend Framework Demonstration: Zend_Cache $frontendOpt = array( 'lifetime' => 300, // cache lifetime in seconds 'automaticSerialization' => true); $backendOpt = array( 'cacheDir' => './cache' ); $cache = Zend_Cache::factory('Core', 'File', $frontendOpt, $backendOpt); $cacheId = 'feed_blog_lucke_info'; $feedInfo = $cache->load($cacheId); if (! $feedInfo) { // cache-miss $feedInfo = getFeedInfo('http://blog.lucke.info/feed'); $cache->save($feedInfo, $cacheId); } else { // cache-hit, Feed-Info bereits verfügbar } print_r($feedInfo); 22
  60. 60. Carsten Lucke Das Zend Framework Agenda Einführung und Überblick über das ZF Framework oder Komponentenbibliothek? > Fortgeschrittene Techniken Bewertung 23
  61. 61. Carsten Lucke Das Zend Framework Projektstruktur für größere Projekte • Projektstruktur erlaubt Subprojekte • Zend_Controller_Front :: setControllerDirectory() • Zend_Controller_Front :: addControllerDirectory() • Zend_View :: setScriptPath() • Zend_View :: addScriptPath() 24
  62. 62. Carsten Lucke Das Zend Framework Projektstruktur für größere Projekte [...] $controller = Zend_Controller_Front::getInstance(); $controller->setControllerDirectory( 'application/controllers'); $controller->addControllerDirectory( 'application/subproject1/controllers', 'sub1'); $controller->returnResponse(true); $controller->throwExceptions(true); $view = new Zend_View(); $view->setScriptPath('application/views'); $view->addScriptPath('application/subproject1/views'); $controller->setParam('view', $view); [...] 24
  63. 63. Carsten Lucke Das Zend Framework Projektstruktur für größere Projekte [...] $controller = Zend_Controller_Front::getInstance(); $controller->setControllerDirectory( 'application/controllers'); http://myhost/sub1/myctrl/myaction $controller->addControllerDirectory( 'application/subproject1/controllers', 'sub1'); $controller->returnResponse(true); $controller->throwExceptions(true); $view = new Zend_View(); $view->setScriptPath('application/views'); $view->addScriptPath('application/subproject1/views'); $controller->setParam('view', $view); [...] 24
  64. 64. Carsten Lucke Das Zend Framework Template-basierte Views • Zend_View_Interface als Schnittstelle • Template-Engine Ihrer Wahl anstelle von PHP/HTML Views • Rahmentemplate mit Platzhaltern anstelle von Includes innerhalb von Views 25
  65. 65. Carsten Lucke Das Zend Framework Mehrere Actions zur Request- abarbeitung • Aufteilung der fachlichen Abarbeitung eines Request auf mehrere Controller • Dispatch-Zyklus erlaubt Einsatz mehrerer Controller/Actions zur Requestabarbeitung • „Forwarding“: $this->_forward() • Problem: Controller haben dadurch Kenntnis von einander 26
  66. 66. Carsten Lucke Das Zend Framework Mehrere Actions zur Request- abarbeitung :: Lösungsansatz • Abstrakte Action-Basisklasse zur Verwaltung eines Navigation-Stack • init() zur Initialisierung des Stack • myForward() statt _forward() • postDispatch() für „Forwarding“ mit mod. Navigation-Stack als Kontextparameter 27
  67. 67. Carsten Lucke Das Zend Framework Agenda Einführung und Überblick über das ZF Framework oder Komponentenbibliothek? Fortgeschrittene Techniken > Bewertung 28
  68. 68. Carsten Lucke Das Zend Framework Bewertung des Zend Framework Pro: Contra: 29
  69. 69. Carsten Lucke Das Zend Framework Bewertung des Zend Framework Pro: Contra: • Durchdachte MVC- Umsetzung 29
  70. 70. Carsten Lucke Das Zend Framework Bewertung des Zend Framework Pro: Contra: • Durchdachte MVC- Umsetzung • Viele Komponenten für Querschnitts- und Spezialaufgaben 29
  71. 71. Carsten Lucke Das Zend Framework Bewertung des Zend Framework Pro: Contra: • Durchdachte MVC- Umsetzung • Viele Komponenten für Querschnitts- und Spezialaufgaben • Hohe Qualität 29
  72. 72. Carsten Lucke Das Zend Framework Bewertung des Zend Framework Pro: Contra: • Durchdachte MVC- Umsetzung • Viele Komponenten für Querschnitts- und Spezialaufgaben • Hohe Qualität • Gute Dokumentation 29
  73. 73. Carsten Lucke Das Zend Framework Bewertung des Zend Framework Pro: Contra: • Durchdachte MVC- • Einsatz von Zend_View in Umsetzung größeren Projekten / kompl. Views zu überdenken • Viele Komponenten für Querschnitts- und Spezialaufgaben • Hohe Qualität • Gute Dokumentation 29
  74. 74. Carsten Lucke Das Zend Framework Bewertung des Zend Framework Pro: Contra: • Durchdachte MVC- • Einsatz von Zend_View in Umsetzung größeren Projekten / kompl. Views zu überdenken • Viele Komponenten für Querschnitts- und • Für größere Projekte evtl. Spezialaufgaben noch „Framework-Arbeit“ notwendig • Hohe Qualität • Gute Dokumentation 29
  75. 75. Carsten Lucke Das Zend Framework Bewertung des Zend Framework Pro: Contra: • Durchdachte MVC- • Einsatz von Zend_View in Umsetzung größeren Projekten / kompl. Views zu überdenken • Viele Komponenten für Querschnitts- und • Für größere Projekte evtl. Spezialaufgaben noch „Framework-Arbeit“ notwendig • Hohe Qualität • Framework für stark • Gute Dokumentation dialogbasierte Systeme evtl. nicht der richtige Ansatz 29
  76. 76. Carsten Lucke Das Zend Framework Vielen Dank für Ihre Aufmerksamkeit! Haben Sie Fragen? http://lucke.info 30

×