eedCreator, una delle migliori classi PHP gratuite per scrivere feed RSS e Atom

http://splesh.files.wordpress.com/2007/09/rss_big.jpg

FeedCreator è una classe PHP per scrivere feed in diversi formati, tra i quali anche RSS e Atom.
Il progetto originale risale al 2003, ad opera di Kai Blankenhorn. Nel 2005 lo sviluppo è stato ripreso, portato su SourceForge ma inspiegabilmente nuovamente a rilento.

Nonostante qualche difettuccio qui e là, FeedCreator ad oggi è una delle migliori classi PHP per scrivere feed RSS, Atom, PIE ed OPML.

FeedCreator offre due enormi vantaggi a colui che deve scrivere un feed in PHP:

  1. Non sono necessarie particolari conoscenze delle specifiche dei singoli formati, ad eccezione di una competenza generale su quali sono gli elementi presenti in un feed. Ad oggi, la documentazione della classe è assai limitata.
  2. E' possibile variare il formato di output semplicemente cambiando il valore di una variabile nella classe, mantenendo invariato tutto il resto del codice.
    Questo consente di modificare il formato del feed in un istante, nonché di creare lo stesso feed in può formati contemporaneamente.

Tra le funzionalità di rilievo di FeedCreator spiccano

  1. La possibilità di salvare fisicamente il file creato in un percorso stabilito oppure la visualizzazione del contenuto a schermo.
  2. Un sistema di cache interno utile a salvaguardare le risorse nel caso il feed sia richiesto nel periodo di tempo stabilito.
  3. Un approcio abbastanza object oriented, considerando anche il periodo del suo rilascio iniziale, che sarà utile a quanti utilizzano largamente questo metodo di programmazione.

Esempi d'utilizzo

L'esempio seguente, tratto dal sito di FeedCreator, mostra un esempio base di utilizzo della classe.


  1. include("feedcreator.class.php");

  2. // crea un nuovo oggetto ed istanzia le caratteristiche del feed
  3. $rss = new UniversalFeedCreator();
  4. $rss->useCached();
  5. $rss->title = "PHP news";
  6. $rss->description = "daily news from the PHP scripting world";
  7. $rss->link = "http://www.dailyphp.net/news";
  8. $rss->syndicationURL = "http://www.dailyphp.net/".$PHP_SELF;

  9. // associa al feed una immagine
  10. $image = new FeedImage();
  11. $image->title = "dailyphp.net logo";
  12. $image->url = "http://www.dailyphp.net/images/logo.gif";
  13. $image->link = "http://www.dailyphp.net";
  14. $image->description = "Feed provided by dailyphp.net. Click to visit.";
  15. $rss->image = $image;

  16. // legge il contenuto di un database
  17. mysql_select_db($dbHost, $dbUser, $dbPass);
  18. $res = mysql_query("SELECT * FROM tabella_news ORDER BY news_data DESC");

  19. // scorre tutto il contenuto della query al database
  20. while ($data = mysql_fetch_object($res)) {
  21. $item = new FeedItem();
  22. $item->title = $data->news_titolo;
  23. $item->link = $data->news_url;
  24. $item->description = $data->news_riassunto;
  25. $item->date = $data->news_data;
  26. $item->source = "http://www.dailyphp.net";
  27. $item->author = $data->news_autore;

  28. // aggiunge la news alla lista di elementi del feed
  29. $rss->addItem($item);
  30. }

  31. $rss->saveFeed("RSS2.0", "feed.xml");
  32. ?>

Si raccomanda la lettura della documentazione interna alla classe per individuare le altre funzionalità offerte.

Commenti

Post popolari in questo blog

Rilasciano BlenderBot v3, un chatbot che utilizza il loro modello OPT e aprono la demo per testarlo

Componenti aggiuntivi di Google Workspace

Come rimuovere il virus che trasforma le cartelle in collegamenti nella tua pendrive.