| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?xml version="1.0" encoding="utf-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.feed.modifying-feed">
- <title>Modifier la structure du flux ou des entrées</title>
- <para>
- La syntaxe intuitive de <classname>Zend_Feed</classname> peut aussi bien servir à
- lire des flux ou des entrées qu'à les construire et les modifier. Vous pouvez facilement
- transformer vos nouveaux objets (ou objets modifiés) en code <acronym>XML</acronym> bien formé et enregistrer
- ensuite ce code dans un fichier ou le renvoyer au serveur.
- </para>
- <example id="zend.feed.modifying-feed.example.modifying">
- <title>Modifier l'entrée existante d'un flux</title>
- <programlisting language="php"><![CDATA[
- $flux = new Zend_Feed_Atom('http://atom.exemple.com/flux/1');
- $entree = $flux->current();
- $entree->title = 'Ceci est un nouveau titre';
- $entree->author->email = 'mon_email@exemple.com';
- echo $entree->saveXML();
- ]]></programlisting>
- <para>
- Ce code affichera une représentation <acronym>XML</acronym> complète (y compris le prologue
- <code><?xml ...></code>) de la nouvelle entrée, avec les espaces de noms <acronym>XML</acronym>
- nécessaires.
- </para>
- <para>
- Notez que le code ci-dessus fonctionnera même si l'entrée existante ne possédait
- pas de balise <code>author</code>. Vous pouvez utiliser autant de fois que vous le
- souhaitez l'opérateur d'accès <code>-></code> dans une instruction
- d'affectation ; si nécessaire, les niveaux intermédiaires seront créés pour vous
- automatiquement.
- </para>
- </example>
- <para>
- Si vous souhaitez utiliser dans votre entrée un espace de noms autre que
- <code>atom:</code>, <code>rss:</code> ou <code>osrss:</code>, vous devez enregistrer cet
- espace de noms auprès de <classname>Zend_Feed</classname> à l'aide de la méthode
- <methodname>Zend_Feed::registerNamespace()</methodname>. Lorsque vous modifiez un élément
- existant, il gardera toujours son espace de noms d'origine. Lorsque vous ajoutez un
- élément, il utilisera l'espace de noms par défaut si vous ne spécifiez pas explicitement un
- autre espace de noms.
- </para>
- <example id="zend.feed.modifying-feed.example.creating">
- <title>
- Créer une entrée Atom dont les éléments appartiennent à un espace de noms
- personnalisé
- </title>
- <programlisting language="php"><![CDATA[
- $entree = new Zend_Feed_Entry_Atom();
- // en Atom, id est toujours affecté par le serveur
- $entree->title = 'mon entrée perso';
- $entree->author->name = 'Auteur';
- $entree->author->email = 'moi@exemple.com';
- // maintenant on s'occupe de la partie personnalisée
- Zend_Feed::registerNamespace('monen',
- 'http://www.exemple.com/monen/1.0');
- $entree->{'monen:monelement_un'} = 'ma première valeur personnalisée';
- $entree->{'monen:conteneur_elt'}
- ->partie1 = 'première partie imbriquée personnalisée';
- $entree->{'monen:conteneur_elt'}
- ->partie2 = 'deuxième partie imbriquée personnalisée';
- echo $entree->saveXML();
- ]]></programlisting>
- </example>
- </sect1>
|