Bonjours à tous,
Allons droit au but : j'ai à créer un flux RSS pour mon site Web à venir (bientôt). Pour manipuler les fichiers RSS et les fichiers XML en générale, je me suis créer une classe XMLFile et une autre RSSFile, qui utilise en fait un XMLFile. Le tout fonctionne très bien. Néanmoins, j'ai regarder les sources de dotclear (blog) et de wp-atom et, je ne comprends aucunement le fonctionnement de ces fichiers. Pour ma part, j'utilise le DOMDocument de PHP5 pour générer mes documents XML, alors que les deux autre utilise une autre appoche (on dirait qu'il produise le fichier directement en xml). Qu'elle est la meilleur façon (rapidité, efficacité). Voici un exemple du code wp-atom.php :
Prenez note que ce code n'est aucunement le miens, son auteur n'était pas cité dans les sources et ayant été pris à l'adresse : http://www.snellspace.com/wp/?p=404. Si la question n'est pas claire, j'aimerais savoir le fonctionnement de ce genre de script et si ce genre de script et plus performant et plus efficace que d'utilisé le DOMDocument.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <?php echo '<?xml version="1.0" encoding="'.get_settings('blog_charset').'"?'.'>'; ?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xml:lang="<?php echo get_option('rss_language'); ?>" xml:base="<?php bloginfo_rss('home') ?>/wp-atom.php"> <? #uncomment and update to include image branding in your feed #<icon>/favicon.png</icon> #<logo>/feedicon.png</logo> ?> <id><?php bloginfo_rss('home') ?>/wp-atom.php</id> <updated><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT')); ?></updated> <title type="text"><?php bloginfo_rss('name') ?></title> <subtitle type="text"><?php bloginfo_rss("description") ?></subtitle> <link rel="self" type="application/atom+xml" href="<?php bloginfo('url'); ?>/wp-atom.php" /> <link rel="replies" type="application/atom+xml" href="<?php bloginfo('url'); ?>/wp-commentsatom.php" /> <? #uncomment the following and customize to associate a license with a feed #<link rel="license" type="application/rdf+xml" href="http://creativecommons.org/licenses/by-nc/2.5/rdf" /> ?> <link href="<?php bloginfo_rss('home') ?>" /> <rights type="text">Copyright <?php echo mysql2date('Y', get_lastpostdate('blog')); ?></rights> <generator uri="http://wordpress.org/" version="<?php bloginfo_rss('version'); ?>">WordPress</generator> <?php $items_count = 0; if ($posts) { foreach ($posts as $post) { start_wp(); ?> <entry> <id><?php the_guid(); ?></id>
Merci.
Drew
Partager