Einführung in das Zend Framework

18.172 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
18.172
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
90
Aktionen
Geteilt
0
Downloads
2
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Einführung in das Zend Framework

  1. 1. 4. Web Development Fulda Treffen Zend Framework Einführung in das PHP Framework Stephanie Ehrling 02.09.2009
  2. 2. Wer bin ich? <ul><li>Master-Abschluss an der HS Fulda 2008
  3. 3. Entwicklerin bei Mayflower Würzburg
  4. 4. Seit 2002 freiberuflich tätig
  5. 5. Autorin für das PHP Magazin </li></ul>
  6. 6. Warum ein PHP-Framework? <ul><li>MVC, Trennung von Code und Design
  7. 7. Klare Strukturen
  8. 8. Objektorientierung
  9. 9. Automatisierte Tests
  10. 10. Sichere Webanwendungen </li></ul>
  11. 11. Man muss das Rad nicht jedes Mal neu erfinden!
  12. 12. Zend Framework <ul><li>Anwendungsframework </li><ul><li>Vollständiges Framework zum Erstellen von Webanwendungen </li></ul><li>Komponentenbibliothek </li><ul><li>Lose gekoppelte Komponenten
  13. 13. Unabhängig einsetzbar </li></ul></ul>
  14. 14. Ziele <ul><li>Flexibilität
  15. 15. Erweiterbarkeit
  16. 16. Einfachheit (Keep It Simple, Stupid)
  17. 17. Stabilität (Unit-Tests, Dokumentation) </li></ul>
  18. 18. Einige Komponenten <ul><li>MVC
  19. 19. Authentifizierung & Autorisierung
  20. 20. JSON, XML
  21. 21. Dojo
  22. 22. Webservices (Flickr, Twitter...)
  23. 23. Fomularvalidierung </li></ul><ul><li>DB-Layer
  24. 24. LDAP
  25. 25. PDF-Generierung
  26. 26. Paginator
  27. 27. Translations
  28. 28. Captchas
  29. 29. ... </li></ul>
  30. 30. MVC <ul><li>Model </li><ul><li>Datenbank, Webservices, Dateien </li></ul><li>View </li><ul><li>Ausgabe an den User </li></ul><li>Controller </li><ul><li>Logik, Bindeglied zwischen View und Model </li></ul></ul>
  31. 31. Aufbau einer MVC-Anwendung <ul><li>Vorschlag von Zend
  32. 32. Skripte nicht im Document-Root!
  33. 33. Mod-Rewrite
  34. 34. Flexible Architektur </li></ul>
  35. 35. Prinzipieller Ablauf <ul><li>Verwendung von Mod Rewrite
  36. 36. Umleiten der Anfragen auf index.php
  37. 37. Delegieren der Anfragen an Controller
  38. 38. Ausführen von Actions im Controller
  39. 39. Ausgabe der Response </li></ul>
  40. 40. URL-Routing <ul><li>Standardrouten </li></ul>/controller/action /controller/action/key1/value1/key2/value2 /module/controller/action /module/controller/action/key1/value1/... <ul><li>Eigene Routen </li></ul>/module/controller/action
  41. 41. Ein Controller GuestbookController.php class GuestbookController extends Zend_Controller_Action { public function indexAction() { $guestbook = new Default_Model_Guestbook(); $this ->view->entries = $guestbook ->fetchAll(); } }
  42. 42. Ein View-Skript index.phtml Guestbook Entries: < br /> < dl > <!-- Loop through the entries that were provided to us by the controller --> <?php foreach ( $this ->entries as $entry ): ?> < dt > <?php echo $this ->escape( $entry ->email) ?> </ dt > < dd > <?php echo $this ->escape( $entry ->comment) ?> </ dd > <?php endforeach ?> </ dl >
  43. 43. Ein Layout-Skript layout.phtml < html xmlns = &quot;http://www.w3.org/1999/xhtml&quot; > < head > ... </ head > < body > < div id = &quot;header&quot; > … </div> <?php echo $this ->layout()->content ?> </ body > </ html >
  44. 44. Ein Formular Guestbook.php class Default_Form_Guestbook extends Zend_Form { public function init() { $this ->setMethod( 'post' ); // Add an email element $this ->addElement( 'text' , 'email' , array ( 'label' => 'Your email address:' , 'required' => true , 'filters' => array ( 'StringTrim' ), 'validators' => array ( 'EmailAddress' , ) )); ... } }
  45. 45. Formularvalidierung $request = $this ->getRequest(); $form = new Default_Form_Guestbook(); if ( $this ->getRequest()->isPost()) { if ( $form ->isValid( $request ->getPost())) { ... } }
  46. 46. Models <ul><li>Keine generische Implementierung
  47. 47. Muss selbst implementiert werden
  48. 48. Je nach Anwendung (DB, Webservices, Filesystem)
  49. 49. Unterstützung durch Komponenten </li><ul><li>Zend_Db_Table
  50. 50. Zend_Service
  51. 51. ... </li></ul></ul>
  52. 52. Beispiel <ul><li>Quickstart-Tutorial </li></ul>
  53. 53. Wo gibt’s noch Infos? <ul><li>http://framework.zend.com/
  54. 54. http://framework.zend.com/manual/en/
  55. 55. http://framework.zend.com/wiki/display/ZFDEV
  56. 56. Ralf Eggert:
  57. 57. Das Zend Framework: Von den Grundlagen bis zur fertigen Anwendung </li></ul>
  58. 58. Vielen Dank für die Aufmerksamkeit! Fragen? [email_address]

×