Crear RSS con PHP

Cómo generar archivos RSS con PHP

En Autentia nos gusta profundizar en aquellos aspectos que agilicen la gestión de un sitio web. En este sentido, es importante, por ejemplo, mantener un buen servicio de notificaciones a los usuarios.

1. Introducción a RSS (Really Simple Sindication)


RSS es el acrónimo de Really Simple Syndication o sindicación realmente simple. Una sindicación es fuente de contenidos (información estructurada) que ofrecemos a múltiples destinatarios. Los ficheros RSS utilizados por esta sindicación son ficheros XML con una estructura concreta (que definimos más adelante). Para más información sobre RSS, sugerimos el siguiente tutorial.

Cada día hay más Web de noticias, bitácoras personales (blogs), Webs personales, etc. con contenidos interesantes que nos gustaría consultar pero que por falta de tiempo y organización no llegamos a ver. Muchos de estos Webs han decidido ofrecer sus contenidos, sino completos al menos los titulares, en el formato RSS, de tal modo que, a través de lectores RSS podemos sencillamente encendiendo el programa, hacer una consulta a nuestros Webs favoritos y de un modo unificado, tener la posibilidad de echar un vistazo preliminar e incluso ir al Web original para ampliar aquellas informaciones de nuestro interés.

 

2. Estructura de un feed RSS

Un documento RSS es un documento XML que sigue una estructura predeterminada muy sencilla (“Really Simple” sindicación). Podemos dividirlo en dos apartados:

    <channel>: contiene los datos del blog y de la Web propietaria de éste; contiene todos los objetos o items a mostrar. Es obligatorio rellenar los campos.

    <item>: cada item contiene todos los datos asociados a ese item llena con los datos de nuestro blog o web, luego bajo la etiqueta mencionada van los datos del post o noticia a mostrar.

El siguiente documento define un feed para las novedades de la Web de Autentia:

 

3. Programando rss.php

El objetivo del programa es el de crear un programa en PHP que genere de forma dinámica un documento XML con los últimos datos actualizados en la base de datos (en el caso de este ejemplo, los últimos tutoriales publicados); de esta forma, conforme actualicemos la base de datos, también los documentos RSS estarán actualizados.

Nuestro programa PHP en concreto es muy sencillo: primero establace la conexión con la base de datos y realiza la/s consulta/s que haya que hacer; si hubiera algún problema, la página devolverá un error antes de empezar a generar el archivo XML.

Lo siguiente es definir el fichero a desarrollar como un documento XML. Por ello es necesario añadir las siguientes dos líneas.

Ya podemos empezar a construir el RSS: en este ejemplo optamos por rellenar el canal con información estática.

Es a la hora de definir los items cuando utilizamos un bucle en PHP para cargar los resultados de la consulta en los diferentes campos del documento.

A continuación presentamos el ejemplo completo:

Y ya tenemos un archivo RSS: