SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Zend Framework
Enrico Zimuel (enrico@zend.com)

Senior Software Engineer, Zend Technologies
Zend Framework Core Team



PHP.TO.START 11 Luglio 2011, Torino


                                              © All rights reserved. Zend Technologies, Inc.
Mi presento
 ●   Software engineer dal 1996 (in PHP dal 1999)
 ●   Ho svolto attività di ricerca presso l'Informatics Institute
       dell'Università di Amsterdam
 ●   Lavoro come PHP engineer per Zend Technologies nel
       team di sviluppo dello Zend Framework
 ●   Scrittore e speaker in conferenze internazionali
 ●   Blog sulla programmazione web in PHP:
       http://www.zimuel.it/blog
 ●   Socio del GrUSP, fondatore del PUG di Torino




                         © All rights reserved. Zend Technologies, Inc.
Sommario
●   Perchè utilizzare un framework software?
●   Introduzione a Zend Framework
●   Breve storia del progetto
●   Caratteristiche del progetto
●   La nuova release 2.0




                   © All rights reserved. Zend Technologies, Inc.
Framework software




     © All rights reserved. Zend Technologies, Inc.
Framework software
●   Un framework software è un insieme di librerie o
    classi riutilizzabili per la realizzazione di un
    sistema software.
●   Caratteristiche di un framework:
       ▶   Riusabilità
       ▶   Standardizzazione
       ▶   Estensibilità
       ▶   Qualità del codice
       ▶   Sicurezza




                           © All rights reserved. Zend Technologies, Inc.
Vantaggi nell'utilizzo di un framework
●   Velocità di sviluppo
       ▶   Time to market
●   Standard nella scrittura del codice
       ▶   Lavoro in team
●   Qualità del codice
       ▶   Minor numero di bug
       ▶   Sicurezza




                       © All rights reserved. Zend Technologies, Inc.
Come scegliere un framework
●   Diffusione del framework
●   Documentazione
●   Supporto
●   Licenza d'utilizzo
●   Curva di apprendimento




                         © All rights reserved. Zend Technologies, Inc.
Esempi di framework software
●   Java                                        ●      Perl
       ▶   Spring                                                  ▶      Catalyst
       ▶   Struts                                                  ▶      Mojolicious
       ▶   Jboss                                ●      Ruby
●   ASP/C#/VB                                                      ▶      Ruby on Rails
       ▶   .NET                                                    ▶      Padrino
●   PHP                                                            ▶      Sinatra
       ▶   Cake PHP                             ●      Python
       ▶   CodeIgniter                                             ▶      Django
       ▶   Symfony
                                                                   ▶      Pylons
       ▶   Zend Framework


                         © All rights reserved. Zend Technologies, Inc.
Zend Framework




    © All rights reserved. Zend Technologies, Inc.
Zend Framework
●   Framework PHP per lo sviluppo di applicazioni web
        ▶   > 10 milioni di download
        ▶   > 500 sviluppatori
        ▶   > 10 milioni hits su Google
●   Open source, licenza new BSD
●   Sito del progetto: http://framework.zend.com
●   © Zend Technologies Ltd.




                          © All rights reserved. Zend Technologies, Inc.
Zend Technologies
●   Zend Technologies Ltd, the PHP Company
●   Fondata nel 1999 da Andi Gutmans e Zeev Suraski, gli
    sviluppatori del PHP 3.0
●   Quartier generale nella Silicon Valley a Cupertino (USA)
●   Uffici in: Francia, Germania, India, Irlanda, Israele, Italia
●   © PHP Engine 2 (l'interprete del PHP)
●   Sito: http://www.zend.com




                           © All rights reserved. Zend Technologies, Inc.
Business con ZF




            © All rights reserved. Zend Technologies, Inc.
Alcuni progetti basati su ZF




             © All rights reserved. Zend Technologies, Inc.
Breve storia di ZF
●   Ottobre 2005: Annuncio del progetto
●   Marzo 2006: Prima versione (pulic review), 0.1.0
●   Luglio 2007: Prima versione stabile 1.0
●   Marzo 2008: Prima minor release 1.5.0
        ▶   Zend_Form, Zend_Layout
●   Aprile 2009: 1.8.0
        ▶   Zend_Tool, Zend_Application
●   Agosto 2009: 1.9.0
        ▶   Supporto PHP 5.3
●   Novembre 2010: 1.11.0
        ▶   Supporto dispositivi mobile tramite Zend_Http_UserAgent
        ▶   Simple Cloud API tramite Zend_Cloud

                               © All rights reserved. Zend Technologies, Inc.
Caratteristiche di ZF
●   Architettura aperta
        ▶   Facile integrazione in progetti di terze parti
        ▶   Design del tipo “Use at will”
●   Completamente ad oggetti in PHP 5
●   Codice testato, Unit test (PHPUnit)
●   Utilizzo di design pattern
        ▶   MVC, Factory, Singleton, etc
●   Qualche numero:
        ▶   ≈ 4000 classi, ≈ 9000 files, ≈ 91 Mb
        ▶   ≈ 460'000 linee di codice



                             © All rights reserved. Zend Technologies, Inc.
Model View Controller in ZF




            © All rights reserved. Zend Technologies, Inc.
Componenti del progetto ZF 1




            © All rights reserved. Zend Technologies, Inc.
Ciclo di sviluppo in ZF
●   Proposta di un nuovo
    componente dalla community
●   Ready for review (community)
●   Ready for recommendation
●   Pending recommendation
    (revisione da parte del Core
    Team)
●   Ok per il Laboratory
●   Testing e review
●   Ok per il rilascio in release
    (standard/extras)


                           © All rights reserved. Zend Technologies, Inc.
Zend Framework 2.0




      © All rights reserved. Zend Technologies, Inc.
Zend Framework 2.0
●   Nuova major release
      ▶   Ci ha permesso di non dover tener conto
            della retro-compatibilità
      ▶   Prerequisiti: PHP 5.3 e superiore
●   Attenzione posta su:
      ▶   Consistenza
      ▶   Performance
      ▶   Documentazione
      ▶   Produttività utente

                     © All rights reserved. Zend Technologies, Inc.
Primi passi verso ZF 2.0
●   Conversione del codice da prefissi gestiti a
    mano (es. “Zend_Foo”) ai namespace nativi
    di PHP 5.3
●   Refactoring delle Eccezioni
●   Cambio di ZF per essere solo autoload
●   Miglioramento e standardizzazione del sistema
    di plugin




                    © All rights reserved. Zend Technologies, Inc.
ZF 2.0 (dev3)
●   Il 14 giugno 2011 è stata rilasciata la versione
    dev3 di Zend Framework 2.0
●   Tra le funzionalità già implementate:
       ▶   Refactoring di ZendTool e CodeGenerator
       ▶   Migrazione e refactoring dei servizi LiveDocx
       ▶   EventManager
       ▶   Dependency Injection
●   Maggiori info: http://bit.ly/lptIpN



                       © All rights reserved. Zend Technologies, Inc.
ZF2 in una slide
    ●   Miglioramenti:
           ▶   Namespace (supporto nativo di PHP)
           ▶   Exception
           ▶   Autoloading
           ▶   MVC
           ▶   Plugin
           ▶   Documentazione
           ▶   Performance
●       Nuove funzionalità:
           ▶   Event Manager
           ▶   Dependency Injection / Service Locator
           ▶   Supporto di nuovi servizi cloud
           ▶   Molto altro ancora...

                              © All rights reserved. Zend Technologies, Inc.
Rilascio di ZF2
●   Versione beta
       ▶   metà ottobre 2011
●   Release stabile a fine anno




                      © All rights reserved. Zend Technologies, Inc.
Come contribuire al progetto
●   Sito ufficiale
       ▶   http://framework.zend.com
●   ZF2 wiki:
       ▶   http://bit.ly/zf2wiki
●   zf-contributors mailing list:
       ▶   zf-contributors-subscribe@lists.zend.com
●   IRC:
       ▶   #zftalk.dev su Freenode



                        © All rights reserved. Zend Technologies, Inc.
Risorse
●   Official repo ZF1:
       ▶   http://framework.zend.com/svn/framework/
●   Git guide ZF2:
       ▶ http://bit.ly/zf2gitguide
●   GitHub ZF2:
       ▶  http://github.com/zendframework/zf2
●   Official repo ZF2:
       ▶   git://git.zendframework.com/zf.git
       ▶   http://git.zendframework.com/




                         © All rights reserved. Zend Technologies, Inc.
Domande?




           © All rights reserved. Zend Technologies, Inc.
Grazie!

Maggiori informazioni:
http://www.zend.com
http://framework.zend.com/




              © All rights reserved. Zend Technologies, Inc.

Mais conteúdo relacionado

Semelhante a Framework software e Zend Framework

Streaming in Java e Flex con Red5
Streaming in Java e Flex con Red5Streaming in Java e Flex con Red5
Streaming in Java e Flex con Red5Marcello Teodori
 
Roma linuxday 2013 - nodejs
Roma linuxday 2013 - nodejsRoma linuxday 2013 - nodejs
Roma linuxday 2013 - nodejsClaudio Mignanti
 
Zend Server
Zend ServerZend Server
Zend ServerGrUSP
 
Pietro Brambati: PHP e la piattaforma Microsoft
Pietro Brambati: PHP e la piattaforma MicrosoftPietro Brambati: PHP e la piattaforma Microsoft
Pietro Brambati: PHP e la piattaforma MicrosoftFrancesco Fullone
 
Slide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdfSlide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdfFlorence Consulting
 
Framework per la realizzazione di ria
Framework per la realizzazione di riaFramework per la realizzazione di ria
Framework per la realizzazione di riaLorenzo Bortolotto
 
Webkit presentazione ufficiale
Webkit presentazione ufficialeWebkit presentazione ufficiale
Webkit presentazione ufficialeintoinside
 
Open Day June 17th Creare componenti AngularJS riutilizzabili tra applicazioni
Open Day June 17th Creare componenti AngularJS riutilizzabili tra applicazioniOpen Day June 17th Creare componenti AngularJS riutilizzabili tra applicazioni
Open Day June 17th Creare componenti AngularJS riutilizzabili tra applicazioniVendini-Italy
 
Alla scoperta di Zend Framework 1.8
Alla scoperta di Zend Framework 1.8Alla scoperta di Zend Framework 1.8
Alla scoperta di Zend Framework 1.8massimiliano.wosz
 
Sviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapSviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapDotNetMarche
 
Android: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezzaAndroid: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezzajekil
 
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...Meet Magento Italy
 
Iced tea, la macchina virtuale Java libera
Iced tea, la macchina virtuale Java liberaIced tea, la macchina virtuale Java libera
Iced tea, la macchina virtuale Java liberaVitalij Zadneprovskij
 

Semelhante a Framework software e Zend Framework (20)

App Engine + Python
App Engine + PythonApp Engine + Python
App Engine + Python
 
Streaming in Java e Flex con Red5
Streaming in Java e Flex con Red5Streaming in Java e Flex con Red5
Streaming in Java e Flex con Red5
 
node.js everywhere
node.js everywherenode.js everywhere
node.js everywhere
 
Roma linuxday 2013 - nodejs
Roma linuxday 2013 - nodejsRoma linuxday 2013 - nodejs
Roma linuxday 2013 - nodejs
 
Zend Server
Zend ServerZend Server
Zend Server
 
Pietro Brambati: PHP e la piattaforma Microsoft
Pietro Brambati: PHP e la piattaforma MicrosoftPietro Brambati: PHP e la piattaforma Microsoft
Pietro Brambati: PHP e la piattaforma Microsoft
 
Slide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdfSlide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdf
 
Framework per la realizzazione di ria
Framework per la realizzazione di riaFramework per la realizzazione di ria
Framework per la realizzazione di ria
 
Webkit presentazione ufficiale
Webkit presentazione ufficialeWebkit presentazione ufficiale
Webkit presentazione ufficiale
 
Debugging with-z-ray
Debugging with-z-rayDebugging with-z-ray
Debugging with-z-ray
 
Modernizziamo IBM i con PHP
Modernizziamo IBM i con PHPModernizziamo IBM i con PHP
Modernizziamo IBM i con PHP
 
Git branching model
Git branching modelGit branching model
Git branching model
 
Introduzione ad Android
Introduzione ad AndroidIntroduzione ad Android
Introduzione ad Android
 
Open Day June 17th Creare componenti AngularJS riutilizzabili tra applicazioni
Open Day June 17th Creare componenti AngularJS riutilizzabili tra applicazioniOpen Day June 17th Creare componenti AngularJS riutilizzabili tra applicazioni
Open Day June 17th Creare componenti AngularJS riutilizzabili tra applicazioni
 
Alla scoperta di Zend Framework 1.8
Alla scoperta di Zend Framework 1.8Alla scoperta di Zend Framework 1.8
Alla scoperta di Zend Framework 1.8
 
Sviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapSviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGap
 
Android: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezzaAndroid: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezza
 
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
 
Standard Dev Workflow
Standard Dev WorkflowStandard Dev Workflow
Standard Dev Workflow
 
Iced tea, la macchina virtuale Java libera
Iced tea, la macchina virtuale Java liberaIced tea, la macchina virtuale Java libera
Iced tea, la macchina virtuale Java libera
 

Mais de Enrico Zimuel

Password (in)security
Password (in)securityPassword (in)security
Password (in)securityEnrico Zimuel
 
Quick start on Zend Framework 2
Quick start on Zend Framework 2Quick start on Zend Framework 2
Quick start on Zend Framework 2Enrico Zimuel
 
Cryptography with Zend Framework
Cryptography with Zend FrameworkCryptography with Zend Framework
Cryptography with Zend FrameworkEnrico Zimuel
 
Introduzione alla Posta Elettronica Certificata (PEC): le regole tecniche
Introduzione alla Posta Elettronica Certificata (PEC): le regole tecnicheIntroduzione alla Posta Elettronica Certificata (PEC): le regole tecniche
Introduzione alla Posta Elettronica Certificata (PEC): le regole tecnicheEnrico Zimuel
 
A quick start on Zend Framework 2
A quick start on Zend Framework 2A quick start on Zend Framework 2
A quick start on Zend Framework 2Enrico Zimuel
 
Zend Framework 2 quick start
Zend Framework 2 quick startZend Framework 2 quick start
Zend Framework 2 quick startEnrico Zimuel
 
Cryptography in PHP: use cases
Cryptography in PHP: use casesCryptography in PHP: use cases
Cryptography in PHP: use casesEnrico Zimuel
 
Manage cloud infrastructures in PHP using Zend Framework 2 (and 1)
Manage cloud infrastructures in PHP using Zend Framework 2 (and 1)Manage cloud infrastructures in PHP using Zend Framework 2 (and 1)
Manage cloud infrastructures in PHP using Zend Framework 2 (and 1)Enrico Zimuel
 
Manage cloud infrastructures using Zend Framework 2 (and ZF1)
Manage cloud infrastructures using Zend Framework 2 (and ZF1)Manage cloud infrastructures using Zend Framework 2 (and ZF1)
Manage cloud infrastructures using Zend Framework 2 (and ZF1)Enrico Zimuel
 
Strong cryptography in PHP
Strong cryptography in PHPStrong cryptography in PHP
Strong cryptography in PHPEnrico Zimuel
 
How to scale PHP applications
How to scale PHP applicationsHow to scale PHP applications
How to scale PHP applicationsEnrico Zimuel
 
Zend_Cache: how to improve the performance of PHP applications
Zend_Cache: how to improve the performance of PHP applicationsZend_Cache: how to improve the performance of PHP applications
Zend_Cache: how to improve the performance of PHP applicationsEnrico Zimuel
 
XCheck a benchmark checker for XML query processors
XCheck a benchmark checker for XML query processorsXCheck a benchmark checker for XML query processors
XCheck a benchmark checker for XML query processorsEnrico Zimuel
 
Introduzione alle tabelle hash
Introduzione alle tabelle hashIntroduzione alle tabelle hash
Introduzione alle tabelle hashEnrico Zimuel
 
Crittografia quantistica: fantascienza o realtà?
Crittografia quantistica: fantascienza o realtà?Crittografia quantistica: fantascienza o realtà?
Crittografia quantistica: fantascienza o realtà?Enrico Zimuel
 
Introduzione alla crittografia
Introduzione alla crittografiaIntroduzione alla crittografia
Introduzione alla crittografiaEnrico Zimuel
 
Crittografia è sinonimo di sicurezza?
Crittografia è sinonimo di sicurezza?Crittografia è sinonimo di sicurezza?
Crittografia è sinonimo di sicurezza?Enrico Zimuel
 
Sviluppo di applicazioni sicure
Sviluppo di applicazioni sicureSviluppo di applicazioni sicure
Sviluppo di applicazioni sicureEnrico Zimuel
 
Misure minime di sicurezza informatica
Misure minime di sicurezza informaticaMisure minime di sicurezza informatica
Misure minime di sicurezza informaticaEnrico Zimuel
 

Mais de Enrico Zimuel (20)

Password (in)security
Password (in)securityPassword (in)security
Password (in)security
 
Quick start on Zend Framework 2
Quick start on Zend Framework 2Quick start on Zend Framework 2
Quick start on Zend Framework 2
 
Cryptography with Zend Framework
Cryptography with Zend FrameworkCryptography with Zend Framework
Cryptography with Zend Framework
 
Introduzione alla Posta Elettronica Certificata (PEC): le regole tecniche
Introduzione alla Posta Elettronica Certificata (PEC): le regole tecnicheIntroduzione alla Posta Elettronica Certificata (PEC): le regole tecniche
Introduzione alla Posta Elettronica Certificata (PEC): le regole tecniche
 
A quick start on Zend Framework 2
A quick start on Zend Framework 2A quick start on Zend Framework 2
A quick start on Zend Framework 2
 
Zend Framework 2 quick start
Zend Framework 2 quick startZend Framework 2 quick start
Zend Framework 2 quick start
 
Cryptography in PHP: use cases
Cryptography in PHP: use casesCryptography in PHP: use cases
Cryptography in PHP: use cases
 
Manage cloud infrastructures in PHP using Zend Framework 2 (and 1)
Manage cloud infrastructures in PHP using Zend Framework 2 (and 1)Manage cloud infrastructures in PHP using Zend Framework 2 (and 1)
Manage cloud infrastructures in PHP using Zend Framework 2 (and 1)
 
Manage cloud infrastructures using Zend Framework 2 (and ZF1)
Manage cloud infrastructures using Zend Framework 2 (and ZF1)Manage cloud infrastructures using Zend Framework 2 (and ZF1)
Manage cloud infrastructures using Zend Framework 2 (and ZF1)
 
Strong cryptography in PHP
Strong cryptography in PHPStrong cryptography in PHP
Strong cryptography in PHP
 
How to scale PHP applications
How to scale PHP applicationsHow to scale PHP applications
How to scale PHP applications
 
Zend_Cache: how to improve the performance of PHP applications
Zend_Cache: how to improve the performance of PHP applicationsZend_Cache: how to improve the performance of PHP applications
Zend_Cache: how to improve the performance of PHP applications
 
XCheck a benchmark checker for XML query processors
XCheck a benchmark checker for XML query processorsXCheck a benchmark checker for XML query processors
XCheck a benchmark checker for XML query processors
 
Introduzione alle tabelle hash
Introduzione alle tabelle hashIntroduzione alle tabelle hash
Introduzione alle tabelle hash
 
Crittografia quantistica: fantascienza o realtà?
Crittografia quantistica: fantascienza o realtà?Crittografia quantistica: fantascienza o realtà?
Crittografia quantistica: fantascienza o realtà?
 
Introduzione alla crittografia
Introduzione alla crittografiaIntroduzione alla crittografia
Introduzione alla crittografia
 
Crittografia è sinonimo di sicurezza?
Crittografia è sinonimo di sicurezza?Crittografia è sinonimo di sicurezza?
Crittografia è sinonimo di sicurezza?
 
Sviluppo di applicazioni sicure
Sviluppo di applicazioni sicureSviluppo di applicazioni sicure
Sviluppo di applicazioni sicure
 
Misure minime di sicurezza informatica
Misure minime di sicurezza informaticaMisure minime di sicurezza informatica
Misure minime di sicurezza informatica
 
PHP e crittografia
PHP e crittografiaPHP e crittografia
PHP e crittografia
 

Framework software e Zend Framework

  • 1. Zend Framework Enrico Zimuel (enrico@zend.com) Senior Software Engineer, Zend Technologies Zend Framework Core Team PHP.TO.START 11 Luglio 2011, Torino © All rights reserved. Zend Technologies, Inc.
  • 2. Mi presento ● Software engineer dal 1996 (in PHP dal 1999) ● Ho svolto attività di ricerca presso l'Informatics Institute dell'Università di Amsterdam ● Lavoro come PHP engineer per Zend Technologies nel team di sviluppo dello Zend Framework ● Scrittore e speaker in conferenze internazionali ● Blog sulla programmazione web in PHP: http://www.zimuel.it/blog ● Socio del GrUSP, fondatore del PUG di Torino © All rights reserved. Zend Technologies, Inc.
  • 3. Sommario ● Perchè utilizzare un framework software? ● Introduzione a Zend Framework ● Breve storia del progetto ● Caratteristiche del progetto ● La nuova release 2.0 © All rights reserved. Zend Technologies, Inc.
  • 4. Framework software © All rights reserved. Zend Technologies, Inc.
  • 5. Framework software ● Un framework software è un insieme di librerie o classi riutilizzabili per la realizzazione di un sistema software. ● Caratteristiche di un framework: ▶ Riusabilità ▶ Standardizzazione ▶ Estensibilità ▶ Qualità del codice ▶ Sicurezza © All rights reserved. Zend Technologies, Inc.
  • 6. Vantaggi nell'utilizzo di un framework ● Velocità di sviluppo ▶ Time to market ● Standard nella scrittura del codice ▶ Lavoro in team ● Qualità del codice ▶ Minor numero di bug ▶ Sicurezza © All rights reserved. Zend Technologies, Inc.
  • 7. Come scegliere un framework ● Diffusione del framework ● Documentazione ● Supporto ● Licenza d'utilizzo ● Curva di apprendimento © All rights reserved. Zend Technologies, Inc.
  • 8. Esempi di framework software ● Java ● Perl ▶ Spring ▶ Catalyst ▶ Struts ▶ Mojolicious ▶ Jboss ● Ruby ● ASP/C#/VB ▶ Ruby on Rails ▶ .NET ▶ Padrino ● PHP ▶ Sinatra ▶ Cake PHP ● Python ▶ CodeIgniter ▶ Django ▶ Symfony ▶ Pylons ▶ Zend Framework © All rights reserved. Zend Technologies, Inc.
  • 9. Zend Framework © All rights reserved. Zend Technologies, Inc.
  • 10. Zend Framework ● Framework PHP per lo sviluppo di applicazioni web ▶ > 10 milioni di download ▶ > 500 sviluppatori ▶ > 10 milioni hits su Google ● Open source, licenza new BSD ● Sito del progetto: http://framework.zend.com ● © Zend Technologies Ltd. © All rights reserved. Zend Technologies, Inc.
  • 11. Zend Technologies ● Zend Technologies Ltd, the PHP Company ● Fondata nel 1999 da Andi Gutmans e Zeev Suraski, gli sviluppatori del PHP 3.0 ● Quartier generale nella Silicon Valley a Cupertino (USA) ● Uffici in: Francia, Germania, India, Irlanda, Israele, Italia ● © PHP Engine 2 (l'interprete del PHP) ● Sito: http://www.zend.com © All rights reserved. Zend Technologies, Inc.
  • 12. Business con ZF © All rights reserved. Zend Technologies, Inc.
  • 13. Alcuni progetti basati su ZF © All rights reserved. Zend Technologies, Inc.
  • 14. Breve storia di ZF ● Ottobre 2005: Annuncio del progetto ● Marzo 2006: Prima versione (pulic review), 0.1.0 ● Luglio 2007: Prima versione stabile 1.0 ● Marzo 2008: Prima minor release 1.5.0 ▶ Zend_Form, Zend_Layout ● Aprile 2009: 1.8.0 ▶ Zend_Tool, Zend_Application ● Agosto 2009: 1.9.0 ▶ Supporto PHP 5.3 ● Novembre 2010: 1.11.0 ▶ Supporto dispositivi mobile tramite Zend_Http_UserAgent ▶ Simple Cloud API tramite Zend_Cloud © All rights reserved. Zend Technologies, Inc.
  • 15. Caratteristiche di ZF ● Architettura aperta ▶ Facile integrazione in progetti di terze parti ▶ Design del tipo “Use at will” ● Completamente ad oggetti in PHP 5 ● Codice testato, Unit test (PHPUnit) ● Utilizzo di design pattern ▶ MVC, Factory, Singleton, etc ● Qualche numero: ▶ ≈ 4000 classi, ≈ 9000 files, ≈ 91 Mb ▶ ≈ 460'000 linee di codice © All rights reserved. Zend Technologies, Inc.
  • 16. Model View Controller in ZF © All rights reserved. Zend Technologies, Inc.
  • 17. Componenti del progetto ZF 1 © All rights reserved. Zend Technologies, Inc.
  • 18. Ciclo di sviluppo in ZF ● Proposta di un nuovo componente dalla community ● Ready for review (community) ● Ready for recommendation ● Pending recommendation (revisione da parte del Core Team) ● Ok per il Laboratory ● Testing e review ● Ok per il rilascio in release (standard/extras) © All rights reserved. Zend Technologies, Inc.
  • 19. Zend Framework 2.0 © All rights reserved. Zend Technologies, Inc.
  • 20. Zend Framework 2.0 ● Nuova major release ▶ Ci ha permesso di non dover tener conto della retro-compatibilità ▶ Prerequisiti: PHP 5.3 e superiore ● Attenzione posta su: ▶ Consistenza ▶ Performance ▶ Documentazione ▶ Produttività utente © All rights reserved. Zend Technologies, Inc.
  • 21. Primi passi verso ZF 2.0 ● Conversione del codice da prefissi gestiti a mano (es. “Zend_Foo”) ai namespace nativi di PHP 5.3 ● Refactoring delle Eccezioni ● Cambio di ZF per essere solo autoload ● Miglioramento e standardizzazione del sistema di plugin © All rights reserved. Zend Technologies, Inc.
  • 22. ZF 2.0 (dev3) ● Il 14 giugno 2011 è stata rilasciata la versione dev3 di Zend Framework 2.0 ● Tra le funzionalità già implementate: ▶ Refactoring di ZendTool e CodeGenerator ▶ Migrazione e refactoring dei servizi LiveDocx ▶ EventManager ▶ Dependency Injection ● Maggiori info: http://bit.ly/lptIpN © All rights reserved. Zend Technologies, Inc.
  • 23. ZF2 in una slide ● Miglioramenti: ▶ Namespace (supporto nativo di PHP) ▶ Exception ▶ Autoloading ▶ MVC ▶ Plugin ▶ Documentazione ▶ Performance ● Nuove funzionalità: ▶ Event Manager ▶ Dependency Injection / Service Locator ▶ Supporto di nuovi servizi cloud ▶ Molto altro ancora... © All rights reserved. Zend Technologies, Inc.
  • 24. Rilascio di ZF2 ● Versione beta ▶ metà ottobre 2011 ● Release stabile a fine anno © All rights reserved. Zend Technologies, Inc.
  • 25. Come contribuire al progetto ● Sito ufficiale ▶ http://framework.zend.com ● ZF2 wiki: ▶ http://bit.ly/zf2wiki ● zf-contributors mailing list: ▶ zf-contributors-subscribe@lists.zend.com ● IRC: ▶ #zftalk.dev su Freenode © All rights reserved. Zend Technologies, Inc.
  • 26. Risorse ● Official repo ZF1: ▶ http://framework.zend.com/svn/framework/ ● Git guide ZF2: ▶ http://bit.ly/zf2gitguide ● GitHub ZF2: ▶ http://github.com/zendframework/zf2 ● Official repo ZF2: ▶ git://git.zendframework.com/zf.git ▶ http://git.zendframework.com/ © All rights reserved. Zend Technologies, Inc.
  • 27. Domande? © All rights reserved. Zend Technologies, Inc.
  • 28. Grazie! Maggiori informazioni: http://www.zend.com http://framework.zend.com/ © All rights reserved. Zend Technologies, Inc.