My favorites | Sign in
Project Home Wiki Issues Source
Search
for
EjemplosPHP  
Ejemplos en PHP para el uso del API
Featured, Phase-Design, Phase-Implementation
Updated Feb 4, 2010 by devnulle...@gmail.com

En esta página se describen ejemplo del uso del API en PHP. Usaremos un ejemplo con el framework Zend.

Instalación de Zend Framework

Descargue 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 Atom

En 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
        )
)
Comment by lane...@gmail.com, Jun 13, 2008

Utilizando la libreria propuesta json-php también se puede hacer algo similar para json. Gracias.


Sign in to add a comment
Powered by Google Project Hosting