Ce package de classes PHP5 permet de générer des flux RSS simples ou complexes.
Il gère tous les tags possibles d'un flux RSS 2.0.
Le package est composé de 5 classes :
abstract RSSFeedTools (outils de validation des informations)
abstract RSSFeedBase (classe permettant de partager les attributs / méthodes communs d'un flux et d'un item)
concrete RSSFeed (classe permettant d'instancier un nouveau flux RSS, dérive de RSSFeedBase)
concrete RSSFeedItem (classe permettant de construire un item de flux, dérive de RSSFeedBase)
concrete RSSFeedException (classe d'exception dérivant d'Exception)
De plus, j'ai rédigé une documentation complète (en anglais) et mis à disposition deux fichiers d'exemples.
Ci-dessous, un exemple de flux basique
Source / Exemple :
<?php
// Import the RSSFeed class
require_once('path/to/RSSFeed/RSSFeed.class.php');
// MySQL Connection
$connection = mysql_connect('localhost','root','example');
mysql_select_db('website', $connection);
try
{
// Create the new instance of the RSS Feed
$rssFeed = new RSSFeed('utf-8');
// Activate the string protection
$rssFeed->setProtectString(true);
// Set the feed title
$rssFeed->setTitle('My blog : the best in the world');
// Set the feed description
$rssFeed->setDescription('A little blog, which talks about Web programming');
// Set the feed link
$rssFeed->setLink('http://www.mywebsite.com/blog/rss/posts.php');
// Set the feed publication date
$rssFeed->setPubDate('2007-08-01');
// Set the feed last build date
$rssFeed->setLastBuildDate(date('Y-m-d'));
// Set the feed webmaster
$rssFeed->setWebMaster('me@mywebsite.com','John Doe');
// Set the feed managing editor
$rssFeed->setManagingEditor('me@mywebsite.com','John Doe');
// Set the feed image
$rssFeed->setImage('http://www.mywebsite.com/image/logo.jpg','My Logo','My blog',100,200);
// Adding items
$request = mysql_query('SELECT post_id, post_title, post_description, post_author_email, post_author_name, post_date FROM post WHERE post_valid=1 LIMIT 10');
while($row = mysql_fetch_object($request))
{
// Creating a new feed item
$rssItem = new RSSFeedItem();
$rssItem->setTitle($row->post_title);
$rssItem->setDescription($row->post_description);
$rssItem->setLink('http://www.mywebsite.com/blog/post.php?id='. $row->post_id);
$rssItem->setGuid('http://www.mywebsite.com/blog/post.php?id='. $row->post_id, true);
$rssItem->setComments('http://www.mywebsite.com/blog/post.php?id='. $row->post_id .'#comments');
$rssItem->setAuthor($row->post_author_email, $row->post_author_name);
$rssItem->setPubDate($row->post_date);
// Add the item to the feed
$rssFeed->appendItem($rssItem);
}
// Save the feed
$rssFeed->save();
// SQL connection closing
mysql_close();
// Send headers to the browser
header('Content-Type: text/xml; charset=utf-8');
// Display the feed
$rssFeed->display();
}
catch(RSSFeedException $e)
{
echo $e->getErrorMessage();
}
?>
Conclusion :
Le reste est dans le ZIP ^^
Nécessite bien évidemment un serveur PHP5.
Documentation en ligne à cette adresse :
http://www.apprendre-php.com/downloads/RSSFeed/documentation/index.html
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.