ZendFramework e Web Service

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    3 Favorites

    ZendFramework e Web Service - Presentation Transcript

    1. Zend Framework ed i Web Service Introduzione a Zend Framework e componen4 per i web service  Simone Carle;  weppos@weppos.net  www.simonecarle;.com   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, WebMarke4ng, Database, Server  –  ICTv.it  •  Autore Zend Framework IT (www.zend‐framework.it)  23 Maggio 2008 phpDay 2008 - Simone Carletti 2
    3. Contenuti •  Introduzione ai framework  •  Introduzione a Zend Framework e caraXeris4che  •  Zend Framework ed i Web Service  1.  Client per web service  2.  Componen4 per sfruXare i web service  3.  Componen4 per sviluppare i web service  4.  Componen4 a supporto   23 Maggio 2008 phpDay 2008 - Simone Carletti 3
    4. Note per gli Esempi •  Per ques4oni di leggibilità, questa presentazione riporta solo frammenB  degli script realizzaB come esempio  •  Gli script sono disponibili in un paccheXo chiamato phpday2008.tgz,  scaricabile dal mio sito o dal sito www.phpDay.it   •  Leggere il file README contenuto all’ìnterno del paccheXo 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 weppos@weppos.net !  23 Maggio 2008 phpDay 2008 - Simone Carletti 4
    5. I framework •  Che cos’è un framework?  –  Collezione di librerie  –  Raccolta di strumen4  •  Perchè un framework?  Aumento della produ;vità  –  Soluzioni già pronte ai problemi comuni  –  Manutenzione del socware  –  Uniformità e standard  –  Lo sviluppo è più divertente!  –  23 Maggio 2008 phpDay 2008 - Simone Carletti 5
    6. Chi non usa un framework si riconosce subito! 23 Maggio 2008 phpDay 2008 - Simone Carletti 6
    7. Zend Framework Web Framework Open Source (Licenza New BSD)  •  ScriXo in PHP 5 Object Oriented (PHP 5.1.4)  •  Promosso da Zend Technologies  •  Oltre 100 contributors a;vi  •  •  hXp://framework.zend.com/  •  www.zend‐framework.it (non ufficiale)  23 Maggio 2008 phpDay 2008 - Simone Carletti 7
    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  •  Auten4cazione,  Autorizzazione e Ges4one delle Sessioni   –  Zend_Acl, Zend_Authen4ca4on, Zend_Session  •  E‐mail, Forma4 e Ricerca  –  Zend_Json, Zend_Pdf, Zend_Mail, Zend_Mime, Zend_Search_Lucene  23 Maggio 2008 phpDay 2008 - Simone Carletti 8
    9. Elementi Zend Framework •  InfrastruXura 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 9
    10. Zend Framework e Web Service 1.  Client per web service  Set di client pron4 all’uso per interagire con i principali web service  –  come Yahoo, Amazon, Technora4, Gdata...  2.  Componen4 per sfruXare web service  Librerie e strumen4 per interagire con dei web service esisten4  –  3.  Componen4 per sviluppare web service  Librerie e strumen4 per sviluppare web service  –  4.  Componen4 aggiun4vi a supporto  Librerie aggiun4ve u4lizzabili a supporto per lo scambio e la  –  validazione dei da4, come URI e Date  23 Maggio 2008 phpDay 2008 - Simone Carletti 10
    11. 1. Client per web service •  Zend_Service_Akismet  –  hXp://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 traXa di Ham or SPAM.  23 Maggio 2008 phpDay 2008 - Simone Carletti 11
    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 \"Key is valid.\\n\";
 } else {
     echo \"Key is not valid\\n\";
 } verifykey.php 23 Maggio 2008 phpDay 2008 - Simone Carletti 12
    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 \"Starting batch: \" . count($comments) . \" comment(s) to check from $file\";
 echo \"\\n\";
 foreach ($comments as $comment) {
     echo \"\\nChecking comment from {$comment['comment_author']} …\";
     $spam = $akismet->isSpam($comment);
     … // see original file 
     echo \"\\n  Akismet:   \" . ($spam ? 'spam' : 'ham');
     echo \"\\n\";
 }
 … // see original file  isspam.php 23 Maggio 2008 phpDay 2008 - Simone Carletti 13
    14. 1. Client per web service •  Zend_Service_Delicious  –  hXp://framework.zend.com/manual/en/zend.service.delicious.html   –  Esempi:  •  recent.php – interroga del.icio.us e res4tuisce i 15 bookmark più recen4  salva4 dall’utente.  23 Maggio 2008 phpDay 2008 - Simone Carletti 14
    15. 1. Client per web service <?php
 require_once 'Zend/Service/Delicious.php';
 $delicious  = new Zend_Service_Delicious(USERNAME, PASSWORD);
 $posts      = $delicious->getRecentPosts();
 echo \"Found \" . count($posts) . \" post(s)\\n\";
 echo \"\\n\";
 foreach ($posts as $index => $post) {
     echo \"$index.\\n\";
     echo \"  Title: {$post->getTitle()}\\n\";
     echo \"  Url:   {$post->getUrl()}\\n\";
     echo \"  Desc:  {$post->getNotes()}\\n\";
 } recent.php 23 Maggio 2008 phpDay 2008 - Simone Carletti 15
    16. 1. Client per web service •  Zend_Service_Technora4  –  hXp://framework.zend.com/manual/en/zend.service.technora4.html  –  Esempi:  •   userinfo.php – recupera da Technora4 le informazioni rela4ve 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 compa4bile con le specifiche YAML per dimostrare  come è possibile interagire con altri linguaggi, ad esempio Ruby.  23 Maggio 2008 phpDay 2008 - Simone Carletti 16
    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 17
    18. 2. Componenti per sfruttare web service •  Zend_Feed  –  hXp://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 18
    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 \"$index.\\n\";
         echo \"  Title: {$item->title()}\\n\";
         echo \"  Link:  {$item->link()}\\n\";
         echo \"  Desc:  {$item->description()}\\n\";
         echo \"\\n\";
     }
     
 } catch (Zend_Feed_Exception $e) {
     echo \"Aaaargh! The script crashed: \" . $e->getMessage();
 } read.php 23 Maggio 2008 phpDay 2008 - Simone Carletti 19
    20. 2. Componenti per sfruttare web service •  Zend_HXp_Client  –  hXp://framework.zend.com/manual/en/zend.hXp.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 si4 web, salva4 in un file YAML. Res4tuisce un output compa4bile  con YAML contenente le informazioni sullo status di ogni sito interrogato.  23 Maggio 2008 phpDay 2008 - Simone Carletti 20
    21. 2. Componenti per sfruttare web service •  Zend_Rest_Client  –  hXp://framework.zend.com/manual/en/zend.rest.client.html   •  Zend_XmlRpx_Client  –  hXp://framework.zend.com/manual/en/zend.xmlrpc.client.html   23 Maggio 2008 phpDay 2008 - Simone Carletti 21
    22. 3. Componenti per sviluppare web service •  Zend_Rest_Server  –  hXp://framework.zend.com/manual/en/zend.rest.server.html   •  Zend_XmlRpc_Server  –  hXp://framework.zend.com/manual/en/zend.xmlrpc.server.html   •  Zend_HXp_Server  •  Zend_Soap_Server  23 Maggio 2008 phpDay 2008 - Simone Carletti 22
    23. 4. Componenti a supporto •  Zend_Uri  –  hXp://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  compa4bile 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 23
    24. 4. Componenti a supporto <?php
 require_once 'Zend/Uri.php';
 $url = 'http://www.simonecarletti.com/';
 echo \"Validating `$url`: \";
 echo Zend_Uri::check($url) ? \"valid\" : \"invalid\";
 echo \"\\n\"; validate.php 23 Maggio 2008 phpDay 2008 - Simone Carletti 24
    25. 4. Componenti a supporto •  Zend_Date  –  hXp://framework.zend.com/manual/en/zend.date.html   •  Zend_Locale  –  hXp://framework.zend.com/manual/en/zend.locale.html   •  Zend_Currency  –  hXp://framework.zend.com/manual/en/zend.currency.html   •  Zend_Measure  –  hXp://framework.zend.com/manual/en/zend.measure.html   23 Maggio 2008 phpDay 2008 - Simone Carletti 25
    26. The end! Simone Carle;  weppos@weppos.net  www.simonecarle;.com  

    + Simone CarlettiSimone Carletti, 2 years ago

    custom

    2774 views, 3 favs, 6 embeds more stats

    Introduzione a Zend Framework e componenti per scri more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2774
      • 2364 on SlideShare
      • 410 from embeds
    • Comments 0
    • Favorites 3
    • Downloads 5
    Most viewed embeds
    • 194 views on http://www.simonecarletti.com
    • 107 views on http://www.phpday.it
    • 104 views on http://www.simonecarletti.it
    • 3 views on http://phpblog.it
    • 1 views on http://networks.feedburner.com

    more

    All embeds
    • 194 views on http://www.simonecarletti.com
    • 107 views on http://www.phpday.it
    • 104 views on http://www.simonecarletti.it
    • 3 views on http://phpblog.it
    • 1 views on http://networks.feedburner.com
    • 1 views on http://simonecarletti.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories