The online documentation is produced by a web publishing technology created by us to read the documents origins in OpenOffice Writer (ODT) and Microsoft Word (docx) formats and produces native web and PDF versions. In this way we maintain Louder project documentation update and in sync on each of its formats.
El siguiente ejemplo muestra como leer un rss desde un recurso remoto, la ruta también puede ser una archivo local:
Ejemplo: Leer/Importar documentos RSS
<?php
$feed = new Feed();
$feed->readRss('http://www.nytimes.com/services/xml/rss/nyt/World.xml');
foreach($feed->getItems() as $item){
echo $feed->getTitle();
echo $feed->getLink();
}
Una vez cargados los documentos pueden ser manipulados ó modificados de acuerdo a lo que se requiera.
Crear documentos RSS
Este componente también permite la creación desde cero y presentarlos como una salida estándar de la petición.
Ejemplo: Crear un documento de sindicación RSS
<?php
class BlogController extends ApplicationController {
public function rssAction(){
$this->setResponse('rss');
$feed = new Feed();
$feed->setTitle('Corporate Blog');
$feed->setDescription('This is our corporate blog');
$feed->setLink('http://www.examplecompany.com/blog');
$feed->setLanguage('en-us');
foreach($this->Posts->find('order: created_at DESC') as $post){
$item = new FeedItem();
$item->setTitle($post->getTitle());
$item->setLink($post->getPermaLink());
$item->setDescription($post->getBody());
$feed->addItem($item);
}
return $feed->getXMLFeed();
}
}
API de Feed
function void setTitle(string $title) Cambia/establece el título del recurso RSS.
function void setDescription(string $description) Cambia/establece la descripción del recurso RSS.
function void setLink(string $link) Cambia/establece el enlace al sitio ó aplicación que generó el recurso RSS. function void setLanguage(string $language) Cambia/establece el idioma original en que se encuentra el contenido del recurso RSS. El idioma debe ser estblecido usando el formato que aparece en este enlace: http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes
function void setTtl(string $ttl) Indica cada cuanto tiempo el cliente RSS debe reactualizar el recurso. function void setGenerator(string $generator) Permite cambiar/establecer el software utilizado para generar el contenido. function void setDocs(string $docs) Permite establecer un enlace en donde haya documentación sobre el formato utilizado para crear el recurso RSS. function void addItem(FeedItem $item) Agrega un objeto FeedItem a la lista de items del recurso RSS.
function string getXMLFeed() Genera una versión XML apta para publicar el recurso RSS.
function boolean readRss(string $url) Lee ó importa un recurso RSS desde una ubicación local ó remota.
function boolean readRssString(string $rssString) Importa un recurso RSS apartir de un string con la descripción XML de el. Devuelve false en caso de que hayan errores en el formato ó sintaxís.
function array getItems() Obtiene un array de objetos FeedItem con cada item del recurso.
API de FeedItem
El objetivo de la clase FeedItem es encapsular la información referente a cada item del recurso RSS de tal forma que pueda se manipulada de una forma orientada a objetos.
function void setTitle(string $title) Establece el titulo del item. function string getTitle() Devuelve el titulo del item.
function void setLink(string $link) Establece el enlace del item.
function string getLink() Devuelve el enlace del item.
function void setAuthor(string $author) Establece el autor del item.
function string getAuthor() Devuelve el autor del item.
function void setDescription(string $description) Establece la descripción del item.
function string getDescription() Devuelve la descripción del item.
function void setGuid(string $guid) Establece el identificador único del item.
function string getGuid() Devuelve el identicador único del item.
function void setPubDate(string $pubDate) Establece la fecha de públicación del item. Esta debe indicarse usando formato RFC-2822.
function string getPubDate() Devuelve la fecha de públicación del item. La fecha se devuelve en formato RFC-2822. El componente Date permite manipular las fechas desde este formato.
function array getElementsAsArray() Obtiene un array asociativo con la información del item. Los indices corresponden a los atributos del item.