Zu Handbuch PHP-API

Golem_Api_Theme_Article – Liste der neusten Artikel einer Themen-Kategorie holen

Mit der Klasse Golem_Api_Theme_Article laden Sie die Liste der neuen Golem.de-Artikel einer Themen-Kategorie.

Einbindung

require_once '[Installationsort/]Golem/Request.php';
require_once '[Installationsort/]Golem/Api/Theme/Article.php';

Verwendung

Um ein neues Objekt der Klasse Golem_Api_Theme_Article zu erzeugen, übergeben Sie dem Konstruktor Ihren Entwicklerschlüssel, den Kurznamen der Themen-Kategorie und bestimmen, wie lang die Liste werden soll:

$request = new Golem_Api_Theme_Article($developerKey, 'oss', 5);
Beispiel 1: Objektinitialisierung

Im Beispiel nehmen wir an, Sie wollen die 5 neusten Artikel der Kategorie OpenSource abfragen. Ihr Kurzname lautet oss.

Die eigentliche Abfrage erfolgt mit der Methode fetch(). War sie erfolgreich, erhalten Sie mit der getArticles()-Methode die Liste der Artikel als Array. Jeder Eintrag des Arrays enthält die Daten eines Artikels in Form eines assoziation Arrays.

$request->fetch();

$articles = $request->getArticles();
Beispiel 2: Abfrage starten und Daten holen

Fehlerbehandlung

Während der Datenabfrage können Fehler auftreten:

  • Golem_Api_Theme_Article::ERROR_LIMIT bedeutet, dass die angeforderte Listenlänge der meistgelesenen Artikel entweder zu klein ist (kleiner als 1) oder zu groß. Derzeit beträgt der größtmögliche Wert 50.
  • Golem_Api_Theme_Article::ERROR_NO_THEME bedeutet, dass die übergebene Kategorie nicht bekannt ist beziehungsweise keine Artikel enthält.

Wenn während der Abfrage ein Fehler auftritt, wird eine Exception geworfen, die Sie mit try-catch auffangen können.

try {

 $request->fetch();

 $articles = $request->getArticles();

} catch(Exception $e) {

 switch($e->getErrorCode()) {

  case Golem_Api_Article_latest::ERROR_LIMIT :
       ...
       break;
  case ...

 }

}
Beispiel 3: Fehler abfangen

Verfügbare Artikeldaten

Für jeden Artikel werden folgende Eigenschaften mitgeliefert:

Name Bedeutung
articleid Artikel-Identifier
abstracttext Der Abstract des Artikels, eine Kurzzusammenfassung des Inhaltes
headline Die Überschrift des Artikels
url Die URL des Artikels
date Das Veröffentlichungsdatum als UNIX-Timestamp in Millisekunden
leadimg Ein assoziatives Array mit den Daten des Headline-Bildes des Artikels. Die Einträge des Arrays sind:
  • url – Die URL des Bildes
  • width – Die Breite des Bildes in Pixel
  • height – Die Höhe des Bildes in Pixel

Vollständiges Beispiel

<?php

require_once 'Golem/Request.php';
require_once 'Golem/Api/Theme/Article.php';

$developerKey = '<ENTWICKLERSCHLÜSSEL>';
$articles     = array();
$error        = '';

$request = new Golem_Api_Theme_Article($developerKey, 'oss', 5);

try {

 $request->fetch();

 $articles = $request->getArticles();

} catch( Exception $e ) {

 switch($e->getErrorCode()) {

  case Golem_Api_Theme_Article::ERROR_LIMIT :
       $error = 'Es wurden zuwenig oder zuviele Artikel angefordert!';
       break;

  case Golem_Api_Theme_Article::ERROR_LIMIT :
       $error = 'Die Kategorie existiert nicht oder enthält keine Artikel!';
       break;


  default :
        $error = 'Es trat ein interner Fehler auf!';

 }

}

?>

<html>
 <head>
  <title>Latest article of a theme category example</title>
 </head>
 <body>
  <?php echo $error; ?>
  <ul>
   <?php

   foreach($articles as $article) {

    echo '<li>';
    echo '<h1>'.$article['headline'].'</h1>';
    echo '<p>'.$article['abstracttext'].'</p>';
    echo '<a href="'.$article['url'].'">mehr...</a>';
    echo '</li>';

   }

   ?>
  </ul>
 </body>
</html>



Zu Handbuch PHP-API