|
EjemplosPHP
En esta página se describen ejemplo del uso del API en PHP. Usaremos un ejemplo con el framework Zend. Instalación de Zend FrameworkDescargue la última versión de Zend. En los ejemplos siguientes se supondrá que el framework se encuentra en directorio /home/galactus/zend/. cd /home/galactus/php wget -c http://framework.zend.com/releases/ZendFramework-1.5.2/ZendFramework-1.5.2.tar.gz tar xzf ZendFramework-1.5.2.tar.gz ln -s ZendFramework-1.5.2 zend En los ejemplos se habilitará el acceso al framework con: <? set_include_path(get_include_path() . ':/home/galactus/php/zend/library'); Lo usual sería configurar esta ruta en el archivo php.ini. Leer un Feed AtomEn este ejemplo se lee un Feed Atom con ayuda de Zend. <?
// Ver: http://code.google.com/p/eltiempo-api/wiki/EjemplosPHP
error_reporting(E_ALL); // Depuración
set_include_path(get_include_path() . ':/home/galactus/php/zend/library/');
require_once 'Zend/Feed.php';
try
{
$feed = Zend_Feed::import('http://api.eltiempo.com/1.0/eltiempo/estadisticas/votos.xml?llave=0--llave_temporal--no_usar--registre_una--0&fecha=2008-06-12');
}
catch (Zend_Feed_Exception $e) {
die("Excepción importando el feed: {$e->getMessage()}\n");
}
Header('Content-type: text/plain; charset=utf-8'); // http://www.w3.org/International/O-HTTP-charset
echo $feed->title() . "\n\n";
foreach ($feed as $entrada)
{
echo 'ID => ' . $entrada->id() . "\n";
echo 'Titulo => ' . $entrada->title() . "\n";
echo 'Resumen => ' . $entrada->summary() . "\n";
echo 'Link =>' . $entrada->link('alternate') . "\n\n";
}
?>Leer la información de un artículo (XML)En este ejemplo se lee la información de un artículo (Que es un Atom válido). Se muestra como acceder a etiquetas del espacio de nombres eltiempo usando DOM. <?
// Ver: http://code.google.com/p/eltiempo-api/wiki/EjemplosPHP
error_reporting(E_ALL); // Depuracion
set_include_path(get_include_path() . ':/home/galactus/php/zend/library/');
require_once 'Zend/Feed.php';
try
{
$feed = Zend_Feed::import('http://api.eltiempo.com/1.0/eltiempo/articulos/CMS-4269823.xml?llave=0--llave_temporal--no_usar--registre_una--0');
}
catch (Zend_Feed_Exception $e) {
die("Excepcion importando el feed: {$e->getMessage()}\n");
}
Header('Content-type: text/plain; charset=utf-8'); // http://www.w3.org/International/O-HTTP-charset
echo 'ID => ' . $feed->current()->id() . "\n";
echo 'Titulo => ' . $feed->current()->title() . "\n";
echo 'Resumen => ' . $feed->current()->summary() . "\n";
$actividad = $feed->getDOM()->getElementsByTagName('actividad')->item(0);
echo 'Comentarios => ' . $actividad->getAttribute('eltiempo:comentarios') . "\n";
echo 'Visitas => ' . $actividad->getAttribute('eltiempo:visitas') . "\n";
echo 'Votos => ' . $actividad->getAttribute('eltiempo:votos') . "\n";
echo 'Recomendaciones => ' . $actividad->getAttribute('eltiempo:recomendaciones') . "\n";
?>Leer la información de un artículo (JSON)En este ejemplo se lee la información de un artículo en formato JSON. Al terminar la lectura se acceden los datos usando un arreglo asociativo. <?
// Ver: http://code.google.com/p/eltiempo-api/wiki/EjemplosPHP
error_reporting(E_ALL); // Depuracion
set_include_path(get_include_path() . ':/home/galactus/php/zend/library/');
require_once 'Zend/Json.php';
Header('Content-type: text/plain; charset=utf-8'); // http://www.w3.org/International/O-HTTP-charset
$json = file_get_contents('http://api.eltiempo.com/1.0/eltiempo/articulos/CMS-4324283.json?llave=0--llave_temporal--no_usar--registre_una--0');
$result = Zend_Json::decode($json);
// Se usan arreglos asociativos para leer el resultado
print_r($result);
?>Este ejemplo imprimirá algo similar a: Array
(
[portal] => eltiempo
[articulo] => Array
(
[id-atom] => tag:api.eltiempo.com,2008:/eltiempo/articulos/CMS-4324283
[titulo] => Absuelto Jairo Merlano, ex senador procesado por 'parapolitica'
[sumario] => Fiscalia anuncio que apelara el fallo dictado por la jueza tercera especializada de Bogota ante el Tribunal Superior de Bogota.
[permalink] => http://beta.eltiempo.com/archivo/documento/CMS-4324283
[actualizacion] => 1213918342
[seccion] => Array
(
[label] => Justicia
[term] => Justicia
)
[origen] => CMS
[id] => 4324283
)
[actividad] => Array
(
[comentarios] => 86
[visitas] => 1668
[votos] => 5
[recomendaciones] => 0
)
)
|
Utilizando la libreria propuesta json-php también se puede hacer algo similar para json. Gracias.