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. Zend Framework 2
    per lo sviluppo di applicazioni web
    Enrico Zimuel
    [email protected] – Zend Technologies

    View Slide

  2. 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

    View Slide

  3. 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

    View Slide

  4. Nome speaker
    Mail speaker – company or community
    Chi utilizza il PHP?

    View Slide

  5. Nome speaker
    Mail speaker – company or community
    Perchè utilizzare il PHP?

    Estrema facilità d'utilizzo

    Altissima produttività

    Linguaggio maturo

    Enterprise ready

    Community estesa

    View Slide

  6. 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

    View Slide

  7. 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)

    View Slide

  8. Nome speaker
    Mail speaker – company or community
    MVC

    View Slide

  9. Nome speaker
    Mail speaker – company or community
    bootstrap
    Listeners
    Richiesta
    HTTP
    Risposta
    HTTP
    route
    Listeners
    dispatch
    Listeners
    Architettura MVC

    View Slide

  10. Nome speaker
    Mail speaker – company or community
    Tipica applicazione MVC

    View Slide

  11. 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

    View Slide

  12. 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/

    View Slide

  13. Nome speaker
    Mail speaker – company or community
    modules.zendframework.com

    View Slide

  14. Nome speaker
    Mail speaker – company or community
    Scheletro di un'applicazione
    MVC in ZF2

    View Slide

  15. Nome speaker
    Mail speaker – company or community
    config
    data
    module
    public
    vendor
    Applicazione in ZF2

    View Slide

  16. Nome speaker
    Mail speaker – company or community
    config
    autoload
    global.php
    local.php
    application.config.php
    data
    module
    public
    vendor

    View Slide

  17. Nome speaker
    Mail speaker – company or community
    application.config.php

    View Slide

  18. Nome speaker
    Mail speaker – company or community
    config
    data
    module
    Application
    ...
    public
    vendor

    View Slide

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

    View Slide

  20. Nome speaker
    Mail speaker – company or community
    Module.php

    View Slide

  21. Nome speaker
    Mail speaker – company or community
    module.config.php (routing)

    View Slide

  22. Nome speaker
    Mail speaker – company or community
    module.config.php (view)

    View Slide

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

    View Slide

  24. Nome speaker
    Mail speaker – company or community
    .htaccess

    View Slide

  25. Nome speaker
    Mail speaker – company or community
    index.php

    View Slide

  26. Nome speaker
    Mail speaker – company or community
    config
    data
    module
    public
    vendor
    zendframework
    Librerie esterne

    View Slide

  27. 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/

    View Slide

  28. Nome speaker
    Mail speaker – company or community
    Esempio: composer.json

    View Slide

  29. Nome speaker
    Mail speaker – company or community
    packagist.org

    View Slide

  30. Nome speaker
    Mail speaker – company or community
    Composer e ZF2

    E' possibile installare ZF2 tramite composer:

    Installazione di singoli componenti:

    View Slide

  31. 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

    View Slide

  32. Nome speaker
    Mail speaker – company or community
    Grazie!
    Per maggiori informazioni:
    http://framework.zend.com

    View Slide