Your SlideShare is downloading. ×
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Simone Carletti: Zend Framework ed i Web Service
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Simone Carletti: Zend Framework ed i Web Service

3,755

Published on

Perché i web service? …

Perché i web service?

In una fase dove il web punta ad architetture evolute, pattern MVC ed interazioni tra piattaforme differenti, non è da sottovalutare l’aspetto delle API e l’importanza dei web service nel creare un’applicazione “ricca”.

Published in: Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,755
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
37
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Zend Framework ed i Web Service Introduzione a Zend Framework ed I componenti per I web service Simone Carletti [email_address] phpDay 2008 Rimini, 23/24 Maggio 2008
  • 2. Due parole di presentazione
    • Technical Manager in Altura Labs Srl ( www.alturalabs.com )
    • Zend Framework contributor (weppos)
    • Membro dell’ RSS Advisory Board ( www.rssboard.org )
    • Autore per HTML.it
      • Edit
      • PHP, Ruby, ASP, XML, WebMarketing, Database, Server
      • ICTv.it
    • Autore Zend Framework IT ( www.zend-framework.it )
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 3. Contenuti
    • Introduzione ai framework
    • Introduzione a Zend Framework e caratteristiche
    • Zend Framework ed i Web Service
      • Client per web service
      • Componenti per sfruttare i web service
      • Componenti per sviluppare i web service
      • Componenti a supporto
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 4. Note per gli Esempi
    • Per questioni di leggibilità, questa presentazione riporta solo frammenti degli script realizzati come esempio
    • Gli script sono disponibili in un pacchetto chiamato phpday2008.tgz , scaricabile dal mio sito o dal sito www.phpDay.it
    • Leggere il file README contenuto all’ìnterno del pacchetto prima di procedere. Il significato di ogni script è riportato in breve in questa presentazione, alla voce Esempi: che segue un componente
    • Non trovi il file phpday2008.tgz? Scrivimi a [email_address] !
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 5. I framework
    • Che cos’è un framework?
      • Collezione di librerie
      • Raccolta di strumenti
    • Perchè un framework?
      • Aumento della produttività
      • Soluzioni già pronte ai problemi comuni
      • Manutenzione del software
      • Uniformità e standard
      • Lo sviluppo è più divertente!
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 6. Chi non usa un framework si riconosce subito! 23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 7. Zend Framework
    • Web Framework Open Source (Licenza New BSD)
    • Scritto in PHP 5 Object Oriented (PHP 5.1.4)
    • Promosso da Zend Technologies
    • Oltre 100 contributors attivi
    • http://framework.zend.com/
    • www.zend-framework.it (non ufficiale)
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 8. Elementi Zend Framework
    • Model-View-Controller (MVC)
      • Zend_Controller, Zend_View, Zend_Layout, Zend_Form…
    • Database
      • Zend_Db, Zend_Db_Table
    • Internazionalizzazione (i18n) e Localizzazione (l10n)
      • Zend_Date, Zend_Locale, Zend_Measure, Zend_Translate
    • Autenticazione, Autorizzazione e Gestione delle Sessioni
      • Zend_Acl, Zend_Authentication, Zend_Session
    • E-mail, Formati e Ricerca
      • Zend_Json, Zend_Pdf, Zend_Mail, Zend_Mime, Zend_Search_Lucene
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 9. Elementi Zend Framework
    • Infrastruttura Core
      • Zend_Cache, Zend_Config, Zend_Console_Getopt, Zend_Log, Zend_Memory
      • Zend_Debug, Zend_Environment, Zend_Loader, Zend_Registry, Zend_Version
      • Zend_Filter, Zend_Validate
    • Web and Web Services
      • Zend_Feed, Zend_Rest_Client, Zend_Service, Zend_XmlRpc_Client, Zend_Gdata, Zend_Http_Client,
      • Zend_Uri
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 10. Zend Framework e Web Service
    • Client per web service
      • Set di client pronti all’uso per interagire con i principali web service come Yahoo, Amazon, Technorati, Gdata...
    • Componenti per sfruttare web service
      • Librerie e strumenti per interagire con dei web service esistenti
    • Componenti per sviluppare web service
      • Librerie e strumenti per sviluppare web service
    • Componenti aggiuntivi a supporto
      • Librerie aggiuntive utilizzabili a supporto per lo scambio e la validazione dei dati, come URI e Date
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 11. 1. Client per web service
    • Zend_Service_Akismet
      • http://framework.zend.com/manual/en/zend.service.akismet.html
      • Esempi:
        • verifykey.php – verifica se l’API_KEY fornita è valida.
        • isspam.php – legge il file isspam.yml e per ogni commento interroga Akismet per individuare se si tratta di Ham or SPAM.
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 12. 1. Client per web service
    • <?php require_once  dirname ( __FILE__ ) .  '/../helper.php' ; require_once  'Zend/Service/Akismet.php' ; $blog  =  'http://www.simonecarletti.com/blog' ; $akismet  = new  Zend_Service_Akismet ( AKISMET_API_KEY , ); if ( $akismet -> verifyKey ()) {     echo  &quot;Key is valid. &quot; ; } else {     echo  &quot;Key is not valid &quot; ; }
    verifykey.php 23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 13. 1. Client per web service
    • … // see original file  // load comment fixtures from yaml file $file  =  dirname ( __FILE__ ) .  '/isspam.yml' ; $comments  =  Spyc :: YAMLLoad ( $file ); // create a new Zend_Service_Akismet instance $akismet   = new  Zend_Service_Akismet ( AKISMET_API_KEY ,  'http://www.simonecarletti.com/blog' ); // batch check comments echo  &quot;Starting batch: &quot;  .  count ( $comments ) .  &quot; comment(s) to check from $file&quot; ; echo  &quot; &quot; ; foreach ( $comments  as  $comment ) {     echo  &quot; Checking comment from {$comment['comment_author']} …&quot; ;      $spam  =  $akismet -> isSpam ( $comment );     … // see original file      echo  &quot;   Akismet:   &quot;  . ( $spam  ?  'spam'  :  'ham' );     echo  &quot; &quot; ; } … // see original file 
    isspam.php 23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 14. 1. Client per web service
    • Zend_Service_Delicious
      • http:// framework.zend.com/manual/en/zend.service.delicious.html
      • Esempi:
        • recent.php – interroga del.icio.us e restituisce i 15 bookmark più recenti salvati dall’utente.
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 15. 1. Client per web service
    • <?php require_once  'Zend/Service/Delicious.php' ; $delicious   = new  Zend_Service_Delicious ( USERNAME ,  PASSWORD ); $posts       =  $delicious -> getRecentPosts (); echo  &quot;Found &quot;  .  count ( $posts ) .  &quot; post(s) &quot; ; echo  &quot; &quot; ; foreach ( $posts  as  $index  =>  $post ) {     echo  &quot;$index. &quot; ;     echo  &quot;  Title: {$post->getTitle()} &quot; ;     echo  &quot;  Url:   {$post->getUrl()} &quot; ;     echo  &quot;  Desc:  {$post->getNotes()} &quot; ; }
    recent.php 23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 16. 1. Client per web service
    • Zend_Service_Technorati
      • http:// framework.zend.com/manual/en/zend.service.technorati.html
      • Esempi:
        • userinfo.php – recupera da Technorati le informazioni relative ad un dato username.
        • userinfo.cli.php – versione modificata dell’esempio precedente, da avviare via command line.
        • userinfo-yml.cli.php – versione modificata dell’esempio precedente, stampa un output compatibile con le specifiche YAML per dimostrare come è possibile interagire con altri linguaggi, ad esempio Ruby.
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 17. 1. Client per web service
    • Zend_Service_Amazon
    • Zend_Service_Audioscrobbler
    • Zend_Service_Flickr
    • Zend_Service_Nirvanix
    • Zend_Service_Simpy
    • Zend_Service_Slideshare
    • Zend_Service_StrikeIron
    • Zend_Service_Yahoo
    • Zend_Gdata
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 18. 2. Componenti per sfruttare web service
    • Zend_Feed
      • http:// framework.zend.com/manual/en/zend.feed.html
      • Esempi:
        • read.php – legge e stampa a video il contenuto di un determinato feed.
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 19. 2. Componenti per sfruttare web service
    • <?php require_once  'Zend/Feed.php' ; // Fetch the latest posts try {      $feed  =  Zend_Feed :: import ( 'http://www.zend-framework.it/feed' );           // loop all items      foreach( $feed  as  $index  =>  $item ) {         echo  &quot;$index. &quot; ;         echo  &quot;  Title: {$item->title()} &quot; ;         echo  &quot;  Link:  {$item->link()} &quot; ;         echo  &quot;  Desc:  {$item->description()} &quot; ;         echo  &quot; &quot; ;     }      } catch ( Zend_Feed_Exception $e ) {     echo  &quot;Aaaargh! The script crashed: &quot;  .  $e -> getMessage (); }
    read.php 23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 20. 2. Componenti per sfruttare web service
    • Zend_Http_Client
      • http:// framework.zend.com/manual/en/zend.http.client.advanced.html
      • Esempi:
        • client.php – un semplice client HTTP per leggere il contenuto di un URL.
        • sitestatus.cli.php – un semplicissimo script per verificare lo status di una lista di siti web, salvati in un file YAML. Restituisce un output compatibile con YAML contenente le informazioni sullo status di ogni sito interrogato.
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 21. 2. Componenti per sfruttare web service
    • Zend_Rest_Client
      • http:// framework.zend.com/manual/en/zend.rest.client.html
    • Zend_XmlRpx_Client
      • http:// framework.zend.com/manual/en/zend.xmlrpc.client.html
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 22. 3. Componenti per sviluppare web service
    • Zend_Rest_Server
      • http:// framework.zend.com/manual/en/zend.rest.server.html
    • Zend_XmlRpc_Server
      • http:// framework.zend.com/manual/en/zend.xmlrpc.server.html
    • Zend_Http_Server
    • Zend_Soap_Server
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 23. 4. Componenti a supporto
    • Zend_Uri
      • http:// framework.zend.com/manual/en/zend.uri.html
      • Esempi:
        • validate.php – stampa a video il risultato della validazione di un URL
        • parser.cli.php – esegue il parsing di un URL in input e stampa un output compatibile con YAML contenente ogni frammento dell’URL, per dimostrare la possibilità di interazione tra PHP ed altri linguaggi.
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 24. 4. Componenti a supporto
    • <?php require_once  'Zend/Uri.php' ; $url  =  'http://www.simonecarletti.com/' ; echo  &quot;Validating `$url`: &quot; ; echo  Zend_Uri :: check ( $url ) ?  &quot;valid&quot;  :  &quot;invalid&quot; ; echo  &quot; &quot; ;
    validate.php 23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 25. 4. Componenti a supporto
    • Zend_Date
      • http:// framework.zend.com/manual/en/zend.date.html
    • Zend_Locale
      • http:// framework.zend.com/manual/en/zend.locale.html
    • Zend_Currency
      • http:// framework.zend.com/manual/en/zend.currency.html
    • Zend_Measure
      • http:// framework.zend.com/manual/en/zend.measure.html
    23 Maggio 2008 phpDay 2008 - Simone Carletti
  • 26. The end! Simone Carletti [email_address] www.simonecarletti.com

×