| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <?xml version="1.0" encoding="utf-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.feed.introduction">
- <title>Introduction</title>
- <para>
- Le composant <classname>Zend_Feed</classname> offre des services permettant de
- traiter des flux <acronym>RSS</acronym> et Atom. Il permet d'accéder aux éléments d'un flux, aux attributs
- d'un flux et aux attributs des entrées d'un flux, tout cela au moyen d'une syntaxe
- intuitive. <classname>Zend_Feed</classname> prend aussi complètement en charge la
- modification de la structure des flux et des entrées, avec la même syntaxe intuitive que
- précédemment, et il sait transformer le résultat en <acronym>XML</acronym>. À l'avenir, la prise en charge des
- modifications pourrait aussi inclure la prise en charge du protocole de publication
- Atom.
- </para>
- <para>
- Sur le plan de la programmation, <classname>Zend_Feed</classname> est constitué d'une
- classe de base <classname>Zend_Feed</classname> et de classes de base abstraites
- <classname>Zend_Feed_Abstract</classname> et
- <classname>Zend_Feed_Entry_Abstract</classname>, permettant de représenter respectivement
- des flux et des entrées ; <classname>Zend_Feed</classname> contient aussi des
- implémentations particulières de ces classes abstraites pour les flux et entrées <acronym>RSS</acronym> et
- Atom ainsi qu'un assistant en coulisses qui assure le bon fonctionnement de la syntaxe
- intuitive.
- </para>
- <para>
- Dans l'exemple ci-dessous, nous illustrons une utilisation simple de
- <classname>Zend_Feed</classname> : on obtient un flux <acronym>RSS</acronym> et on enregistre les
- portions du flux qui nous intéressent dans un tableau <acronym>PHP</acronym> simple, qui pourra ensuite être
- utilisé pour afficher les données, les stocker dans une base de données etc.
- </para>
- <note>
- <title>Attention</title>
- <para>
- Beaucoup de flux <acronym>RSS</acronym> ont à leur disposition différentes propriétés, pour les
- canaux comme pour les éléments. La spécification <acronym>RSS</acronym> spécifie beaucoup de propriétés
- optionnelles et gardez donc cela à l'esprit lorsque vous écrivez du code qui manipule
- des données <acronym>RSS</acronym>.
- </para>
- </note>
- <example id="zend.feed.introduction.example.rss">
- <title>Manipuler des données RSS avec Zend_Feed</title>
- <programlisting language="php"><![CDATA[
- // on va chercher les dernières news de Slashdot
- try {
- $rssSlashdot =
- Zend_Feed::import('http://rss.slashdot.org/Slashdot/slashdot');
- } catch (Zend_Feed_Exception $e) {
- // l'importation du flux a échoué
- echo "Une exception a été interceptée lors de l'importation "
- . "du flux : {$e->getMessage()}\n";
- exit;
- }
- // on initialise un tableau contenant les données du canal RSS
- $canal = array(
- 'titre' => $rssSlashdot->title(),
- 'lien' => $rssSlashdot->link(),
- 'description' => $rssSlashdot->description(),
- 'elements' => array()
- );
- // on itère sur chaque élément du canal et
- // on stocke les données qui nous intéressent
- foreach ($rssSlashdot as $elem) {
- $canal['elements'][] = array(
- 'titre' => $elem->title(),
- 'lien' => $elem->link(),
- 'description' => $elem->description()
- );
- }
- ]]></programlisting>
- </example>
- </sect1>
|