Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Zend Framework 2 per lo sviluppo di applicazioni web

Zend Framework 2 per lo sviluppo di applicazioni web

In questo talk, presentato al Codemotion Venezia 2012, vengono illustrate le tecniche per lo sviluppo di applicazioni web con Zend Framework 2, uno dei framework PHP open source tra i più utilizzati al mondo. In particolare verrà presentata l'architettura MVC del framework e l'utilizzo dei moduli per favorire il riutilizzo del codice.

Enrico Zimuel

November 17, 2012
Tweet

More Decks by Enrico Zimuel

Other Decks in Programming

Transcript

  1. Nome speaker Mail speaker – company or community Mi presento

    Enrico Zimuel (@ezimuel) Programmatore dal 1996 Senior PHP Engineer presso Zend Technologies, nel team di sviluppo di Zend Framework Speaker conferenze internazionali Co-fondatore PHP User Group Torino Co-autore “PHP Best Practices” FAG, 2012
  2. Nome speaker Mail speaker – company or community Più di

    un terzo del web è scritto in PHP Fonte: http://trends.builtwith.com/framework E' il quarto linguaggio più utilizzato in assoluto dopo C, Java e C++ Fonte: http://langpop.com/ E' il linguaggio server side più utilizzato sul web Fonte: http://trends.builtwith.com/framework Più di 2 milioni di sviluppatori professionisti Fonte: Gartner Research
  3. Nome speaker Mail speaker – company or community Perchè utilizzare

    il PHP? • Estrema facilità d'utilizzo • Altissima produttività • Linguaggio maturo • Enterprise ready • Community estesa
  4. Nome speaker Mail speaker – company or community Zend Framework

    • PHP framework, licenza New BSD • OOP, Unit test • Progetto fondato nel 2006 • ZF1 > 15 milioni download • Versione attuale 2.0.4 • PHP ≥ 5.3.3 • http://framework.zend.com
  5. Nome speaker Mail speaker – company or community Nuova architettura

    ZF2 • Riscrittura del framework • Aspect Oriented Design • Dependency Injection • Architettura MVC event-driven • Supporto dei Moduli • Package (composer, pyrus) • Performance (lazy loading)
  6. Nome speaker Mail speaker – company or community bootstrap Listeners

    Richiesta HTTP Risposta HTTP route Listeners dispatch Listeners Architettura MVC
  7. Nome speaker Mail speaker – company or community Zend\ServiceManager •

    ServiceManager implementa il design pattern Service Locator • Un Service Locator è un oggetto nel quale possono essere registrati servizi (oggetti) che verranno recuperati successivamente • Gestito tramite configurazioni
  8. Nome speaker Mail speaker – company or community Moduli in

    ZF2 • Un modulo è una qualsiasi porzione di codice che risolve un problema specifico • Sono porzioni indipendenti, riutilizzabili in altri progetti (plug and play) • Un namespace, file Module.php • http://modules.zendframework.com/
  9. Nome speaker Mail speaker – company or community config data

    module public vendor Applicazione in ZF2
  10. Nome speaker Mail speaker – company or community config autoload

    global.php local.php application.config.php data module public vendor
  11. Nome speaker Mail speaker – company or community Modulo Application

    config module.config.php src Application Controller Model view Module.php
  12. Nome speaker Mail speaker – company or community config data

    module public img css js .htaccess index.php vendor
  13. Nome speaker Mail speaker – company or community config data

    module public vendor zendframework Librerie esterne
  14. Nome speaker Mail speaker – company or community Composer •

    Progetto open source per la gestione delle dipendenze tra librerie PHP • Configurazione tramite file in formato json • E' diventato uno standard de facto nella community PHP • http://getcomposer.org/
  15. Nome speaker Mail speaker – company or community Composer e

    ZF2 • E' possibile installare ZF2 tramite composer: • Installazione di singoli componenti:
  16. Nome speaker Mail speaker – company or community Esempio di

    applicazione ZF2: https://github.com/zendframework/zf2-tutorial Documentazione ZF2: http://framework.zend.com/learn Riferimenti
  17. Nome speaker Mail speaker – company or community Grazie! Per

    maggiori informazioni: http://framework.zend.com