| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 15234 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.service.technorati">
- <title>Zend_Service_Technorati</title>
- <sect2 id="zend.service.technorati.introduction">
- <title>Einführung</title>
- <para>
- <classname>Zend_Service_Technorati</classname> bietet ein einfaches, intuitives und objekt-orientiertes
- Interface für die Verwendung der Technorati API. Es bietet Zugriff zu allen vorhandenen
- <ulink url="http://technorati.com/developers/api/">Technorati API Abfragen</ulink> und gibt
- die originalen XML Antworten als freundliches PHP Objekt zurück.
- </para>
- <para>
- <ulink url="http://technorati.com/">Technorati</ulink> ist eine der populärsten Blog Suchmaschinen.
- Das API Interface ermöglicht es Entwicklern Informationen über einen spezifischen Blog zu erhalten,
- Blogs zu suchen die einem einzelnen Tag oder einer Phrase entsprechen und Informationen über einen
- spezifischen Author (Blogger) erhalten. Für eine komplette Liste von vorhandenen Abfragen kann in die
- <ulink url="http://technorati.com/developers/api/">Technorati API Dokumentation</ulink> oder die
- <link linkend="zend.service.technorati.queries">vorhandenen Technorati Abfragen</link>-Sektion dieses
- Dokuments gesehen werden.
- </para>
- </sect2>
- <sect2 id="zend.service.technorati.getting-started">
- <title>Anfangen</title>
- <para>
- Technorati benötigt einen gültigen API Schlüssel zur Verwendung. Um einen eigenen API SChlüssel zu
- erhalten muss
- <ulink url="http://technorati.com/signup/">ein neuer Technorati Account erstellt werden</ulink>,
- und anschließend die
- <ulink url="http://technorati.com/developers/apikey.html">API Schlüssel Sektion</ulink> besucht werden.
- </para>
- <note>
- <title>API Schlüssel Beschränkungen</title>
- <para>
- Es können bis zu 500 Technirati API Aufrufe pro Tag durchgeführt werden ohne das Kosten anfallen.
- Andere Limitationen der Verwendung können vorhanden sein, abhängig von der aktuellen Technorati
- API Lizenz.
- </para>
- </note>
- <para>
- Sobald man einen gültigen API Schlüssel hat, kann man beginnen <classname>Zend_Service_Technorati</classname>
- zu verwenden.
- </para>
- </sect2>
- <sect2 id="zend.service.technorati.making-first-query">
- <title>Die erste Abfrage durchführen</title>
- <para>
- Um eine Abfrage durchzuführen, benötigt man zuerst eine <classname>Zend_Service_Technorati</classname> Instanz
- mit einem gültigen API Schlüssel. Dann kann eine der vorhandenen Abfragemethoden ausgewählt werden,
- und durch Angabe der benötigen Argumente aufgerufen werden.
- </para>
- <example id="zend.service.technorati.making-first-query.example-1">
- <title>Die erste Abfragen senden</title>
- <programlisting role="php"><![CDATA[
- // ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
- $technorati = new Zend_Service_Technorati('VALID_API_KEY');
- // Technorati nach dem Schlüsselwort PHP durchsuchen
- $resultSet = $technorati->search('PHP');
- ]]></programlisting>
- </example>
- <para>
- Jede Abfragemethode akzeptiert ein Array von optionalen Parametern die verwendet werden kann um die
- Abfrage zu verfeinern.
- </para>
- <example id="zend.service.technorati.making-first-query.example-2">
- <title>Verfeinern der Abfrage</title>
- <programlisting role="php"><![CDATA[
- // ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
- $technorati = new Zend_Service_Technorati('VALID_API_KEY');
- // Die Abfrage nach Ergebnissen mit etwas Authority filtern
- // (Ergebnisse von Blogs mit einer Handvoll Links)
- $options = array('authority' => 'a4');
- // Technorati nach dem Schlüsselwort PHP durchsuchen
- $resultSet = $technorati->search('PHP', $options);
- ]]></programlisting>
- </example>
- <para>
- Eine <classname>Zend_Service_Technorati</classname> Instanz ist kein einmal zu verwendendes Objekt. Deswegen
- muß keine neue Instanz für jede Abfrage erstellt werden; es kann einfach das aktuelle
- <classname>Zend_Service_Technorati</classname> Objekt solange verwendet werden wie es benötigt wird.
- </para>
- <example id="zend.service.technorati.making-first-query.example-3">
- <title>Mehrfache Abfragen mit der gleichen Zend_Service_Technorati Instanz senden</title>
- <programlisting role="php"><![CDATA[
- // ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
- $technorati = new Zend_Service_Technorati('VALID_API_KEY');
- // Technorati nach dem Schlüsselwort PHP durchsuchen
- $search = $technorati->search('PHP');
- // Top Tags die von Technorati indiziert wurden erhalten
- $topTags = $technorati->topTags();
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.service.technorati.consuming-results">
- <title>Ergebnisse verarbeiten</title>
- <para>
- Es kann einer von zwei Typen von Ergebnisobjekten als Antwort auf eine Abfrage empfangen werden.
- </para>
- <para>
- Die erste Gruppe wird durch <classname>Zend_Service_Technorati_*ResultSet</classname> Objekte repräsentiert.
- Ein Ergebnisset Objekt ist grundsätzlich eine Kollektion von Ergebnisobjekten. Es erweitert die
- grundsätzliche <classname>Zend_Service_Technorati_ResultSet</classname> Klasse und implementiert das PHP
- Interface <code>SeekableIterator</code>. Der beste Weg um ein Ergebnisset Objekt zu verarbeiten
- ist dieses mit einem PHP <code>foreach</code> Statement zu durchlaufen.
- </para>
- <example id="zend.service.technorati.consuming-results.example-1">
- <title>Ein Ergebnisset Objekt verarbeiten</title>
- <programlisting role="php"><![CDATA[
- // ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
- $technorati = new Zend_Service_Technorati('VALID_API_KEY');
- // Technorati nach dem PHP Schlüsselwort durchsuchen
- // $resultSet ist eine Instanz von Zend_Service_Technorati_SearchResultSet
- $resultSet = $technorati->search('PHP');
- // Alle Ergebnisobjekte durchlaufen
- foreach ($resultSet as $result) {
- // $result ist eine Instanz von Zend_Service_Technorati_SearchResult
- }
- ]]></programlisting>
- </example>
- <para>
- Weil <classname>Zend_Service_Technorati_ResultSet</classname> das <code>SeekableIterator</code> Interface
- implementiert, kann ein spezifisches Ergebnisobjekt gesucht werden indem dessen Position in der
- Ergebnissammlung verwendet wird.
- </para>
- <example id="zend.service.technorati.consuming-results.example-2">
- <title>Ein spezifisches Ergebnisset Objekt suchen</title>
- <programlisting role="php"><![CDATA[
- // ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
- $technorati = new Zend_Service_Technorati('VALID_API_KEY');
- // Technorati nach dem PHP Schlüsselwort durchsuchen
- // $resultSet ist eine Instanz von Zend_Service_Technorati_SearchResultSet
- $resultSet = $technorati->search('PHP');
- // $result ist eine Instanz von Zend_Service_Technorati_SearchResult
- $resultSet->seek(1);
- $result = $resultSet->current();
- ]]></programlisting>
- </example>
- <note>
- <para>
- <code>SeekableIterator</code> arbeitet als Array und zählt Positionen beginnend vom Index 0.
- Das Holen der Position 1 bedeutet das man das zweite Ergebnis der Kollektion erhält.
- </para>
- </note>
- <para>
- Die zweite Gruppe wird durch spezielle alleinstehende Ergebnisobjekte repräsentiert.
- <classname>Zend_Service_Technorati_GetInfoResult</classname>, <classname>Zend_Service_Technorati_BlogInfoResult</classname>
- und <classname>Zend_Service_Technorati_KeyInfoResult</classname> funktionieren als Wrapper für zusätzliche Objekte,
- wie <classname>Zend_Service_Technorati_Author</classname> und <classname>Zend_Service_Technorati_Weblog</classname>.
- </para>
- <example id="zend.service.technorati.consuming-results.example-3">
- <title>Ein alleinstehendes Ergebnisobjekt verarbeiten</title>
- <programlisting role="php"><![CDATA[
- // ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
- $technorati = new Zend_Service_Technorati('VALID_API_KEY');
- // Infos über weppos Author erhalten
- $result = $technorati->getInfo('weppos');
- $author = $result->getAuthor();
- echo '<h2>Blogs authorisiert von ' . $author->getFirstName() . " " .
- $author->getLastName() . '</h2>';
- echo '<ol>';
- foreach ($result->getWeblogs() as $weblog) {
- echo '<li>' . $weblog->getName() . '</li>';
- }
- echo "</ol>";
- ]]></programlisting>
- </example>
- <para>
- Bitte lesen Sie das
- <link linkend="zend.service.technorati.classes">Zend_Service_Technorati Klassen</link> Kapitel
- für weitere Details über Antwortklassen.
- </para>
- </sect2>
- <sect2 id="zend.service.technorati.handling-errors">
- <title>Fehler behandeln</title>
- <para>
- Jede <classname>Zend_Service_Technorati</classname> Abfragemethode wirft bei einem Fehler eine
- <classname>Zend_Service_Technorati_Exception</classname> Ausnahme mit einer bedeutungsvollen Fehlermeldung.
- </para>
- <para>
- Es gibt verschiedene Gründe die Verursachen können das eine <classname>Zend_Service_Technorati</classname>
- Abfrage fehlschlägt. <classname>Zend_Service_Technorati</classname> prüft alle Parameter für jegliche
- Abfrageanfragen. Wenn ein Parameter ungültig ist oder er einen ungültigen Wert enthält, wird eine
- neue <classname>Zend_Service_Technorati_Exception</classname> Ausnahme geworfen. Zusätzlich kann das
- Technorati API Interface temporär unerreichbar sein, oder es kann eine Antwort zurückgeben die nicht
- gültig ist.
- </para>
- <para>
- Eine Technorati Abfrage sollte immer mit einem <code>try</code>...<code>catch</code> Block umhüllt
- werden.
- </para>
- <example id="zend.service.technorati.handling-errors.example-1">
- <title>Eine Abfrageausnahme behandeln</title>
- <programlisting role="php"><![CDATA[
- $technorati = new Zend_Service_Technorati('VALID_API_KEY');
- try {
- $resultSet = $technorati->search('PHP');
- } catch(Zend_Service_Technorati_Exception $e) {
- echo "Ein Fehler ist aufgetreten: " $e->getMessage();
- }
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.service.technorati.checking-api-daily-usage">
- <title>Prüfen der täglichen Verwendung des eigenen API Schlüssels</title>
- <para>
- Von Zeit zu Zeit wird man die tägliche Verwendung des API Schlüssels prüfen wollen. Standardmäßig
- limitiert Technorati die API Verwendung auf 500 Aufrufe pro Tag, und eine Ausnahme wird durch
- <classname>Zend_Service_Technorati</classname> zurückgegeben wenn versucht wird dieses Limit zu überschreiten.
- Man kann diese Information über die Verwendung des eigenen API Schlüssels erhalten indem die
- <classname>Zend_Service_Technorati::keyInfo()</classname> Methode verwendet wird.
- </para>
- <para>
- <classname>Zend_Service_Technorati::keyInfo()</classname> gibt ein
- <classname>Zend_Service_Technorati_KeyInfoResult</classname> Object zurück. Für vollständige Details kann im
- <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
- </para>
- <example id="zend.service.technorati.checking-api-daily-usage.example-1">
- <title>Die Information über die tägliche Verwendung des API Schlüssels erhalten</title>
- <programlisting role="php"><![CDATA[
- $technorati = new Zend_Service_Technorati('VALID_API_KEY');
- $key = $technorati->keyInfo();
- echo "API Schlüssel: " . $key->getApiKey() . "<br />";
- echo "Tägliche Verwendung: " . $key->getApiQueries() . "/" .
- $key->getMaxQueries() . "<br />";
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.service.technorati.queries">
- <title>Vorhandene Technorati Abfragen</title>
- <para>
- <classname>Zend_Service_Technorati</classname> bietet Unterstützung für die folgenden Abfragen:
- <itemizedlist>
- <listitem><para><link linkend="zend.service.technorati.queries.cosmos"><code>Cosmos</code></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.queries.search"><code>Search</code></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.queries.tag"><code>Tag</code></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.queries.dailycounts"><code>DailyCounts</code></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.queries.toptags"><code>TopTags</code></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.queries.bloginfo"><code>BlogInfo</code></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.queries.blogposttags"><code>BlogPostTags</code></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.queries.getinfo"><code>GetInfo</code></link></para></listitem>
- </itemizedlist>
- </para>
- <sect3 id="zend.service.technorati.queries.cosmos">
- <title>Technorati Cosmos</title>
- <para>
- Eine <ulink url="http://technorati.com/developers/api/cosmos.html">Cosmos</ulink> Abfrage lässt
- einen Sehen welche Blog zu einer gegebenen URL verknüpft sind. Sie gibt ein
- <link linkend="zend.service.technorati.classes.cosmosresultset"><classname>Zend_Service_Technorati_CosmosResultSet</classname></link>
- Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::cosmos()</classname> im
- <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
- </para>
- <example id="zend.service.technorati.queries.cosmos.example-1">
- <title>Cosmos Abfrage</title>
- <programlisting role="php"><![CDATA[
- $technorati = new Zend_Service_Technorati('VALID_API_KEY');
- $resultSet = $technorati->cosmos('http://devzone.zend.com/');
- echo "<p>Liest " . $resultSet->totalResults() .
- " von " . $resultSet->totalResultsAvailable() .
- " vorhandenen Ergebnissen</p>";
- echo "<ol>";
- foreach ($resultSet as $result) {
- echo "<li>" . $result->getWeblog()->getName() . "</li>";
- }
- echo "</ol>";
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.service.technorati.queries.search">
- <title>Technorati Search</title>
- <para>
- Die <ulink url="http://technorati.com/developers/api/search.html">Search</ulink> Abfrage lässt
- einen Sehen welche Blogs einen gegebenen Suchstring enthalten. Sie gibt ein
- <link linkend="zend.service.technorati.classes.searchresultset"><classname>Zend_Service_Technorati_SearchResultSet</classname></link>
- Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::search()</classname> im
- <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
- </para>
- <example id="zend.service.technorati.queries.search.example-1">
- <title>Suchabfrage</title>
- <programlisting role="php"><![CDATA[
- $technorati = new Zend_Service_Technorati('VALID_API_KEY');
- $resultSet = $technorati->search('zend framework');
- echo "<p>Liest " . $resultSet->totalResults() .
- " von " . $resultSet->totalResultsAvailable() .
- " vorhandenen Ergebnissen</p>";
- echo "<ol>";
- foreach ($resultSet as $result) {
- echo "<li>" . $result->getWeblog()->getName() . "</li>";
- }
- echo "</ol>";
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.service.technorati.queries.tag">
- <title>Technorati Tag</title>
- <para>
- Die <ulink url="http://technorati.com/developers/api/tag.html">Tag</ulink> Abfrage lässt einen
- Sehen welche Antworten mit einem gegebenen Tag assoziiert sind. Sie gibt ein
- <link linkend="zend.service.technorati.classes.tagresultset"><classname>Zend_Service_Technorati_TagResultSet</classname></link>
- Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::tag()</classname> im
- <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
- </para>
- <example id="zend.service.technorati.queries.tag.example-1">
- <title>Tag Abfrage</title>
- <programlisting role="php"><![CDATA[
- $technorati = new Zend_Service_Technorati('VALID_API_KEY');
- $resultSet = $technorati->tag('php');
- echo "<p>Liest " . $resultSet->totalResults() .
- " von " . $resultSet->totalResultsAvailable() .
- " vorhandenen Ergebnissen</p>";
- echo "<ol>";
- foreach ($resultSet as $result) {
- echo "<li>" . $result->getWeblog()->getName() . "</li>";
- }
- echo "</ol>";
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.service.technorati.queries.dailycounts">
- <title>Technorati DailyCounts</title>
- <para>
- Die <ulink url="http://technorati.com/developers/api/dailycounts.html">DailyCounts</ulink> Abfrage
- bietet tägliche Anzahlen von Antworten die ein abgefragtes Schlüsselwort enthalten. Sie gibt ein
- <link linkend="zend.service.technorati.classes.dailycountsresultset"><classname>Zend_Service_Technorati_DailyCountsResultSet</classname></link>
- Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::dailyCounts()</classname> im
- <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
- </para>
- <example id="zend.service.technorati.queries.dailycounts.example-1">
- <title>DailyCounts Abfrage</title>
- <programlisting role="php"><![CDATA[
- $technorati = new Zend_Service_Technorati('VALID_API_KEY');
- $resultSet = $technorati->dailyCounts('php');
- foreach ($resultSet as $result) {
- echo "<li>" . $result->getDate() .
- "(" . $result->getCount() . ")</li>";
- }
- echo "</ol>";
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.service.technorati.queries.toptags">
- <title>Technorati TopTags</title>
- <para>
- Die <ulink url="http://technorati.com/developers/api/toptags.html">TopTags</ulink> Abfrage
- bietet Informationen über Top Tags die durch Technorati indiziert sind. Sie gibt ein
- <link linkend="zend.service.technorati.classes.tagsresultset"><classname>Zend_Service_Technorati_TagsResultSet</classname></link>
- Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::topTags()</classname> im
- <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
- </para>
- <example id="zend.service.technorati.queries.toptags.example-1">
- <title>TopTags Abfrage</title>
- <programlisting role="php"><![CDATA[
- $technorati = new Zend_Service_Technorati('VALID_API_KEY');
- $resultSet = $technorati->topTags();
- echo "<p>Liest " . $resultSet->totalResults() .
- " von " . $resultSet->totalResultsAvailable() .
- " vorhandenen Ergebnissen</p>";
- echo "<ol>";
- foreach ($resultSet as $result) {
- echo "<li>" . $result->getTag() . "</li>";
- }
- echo "</ol>";
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.service.technorati.queries.bloginfo">
- <title>Technorati BlogInfo</title>
- <para>
- Eine <ulink url="http://technorati.com/developers/api/bloginfo.html">BlogInfo</ulink> Abfrage bietet
- Informationen darüber welcher Blog, wenn überhaupt, mit einer gegebenen URL assoziiert ist. Sie gibt ein
- <link linkend="zend.service.technorati.classes.bloginforesult"><classname>Zend_Service_Technorati_BlogInfoResult</classname></link>
- Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::blogInfo()</classname> im
- <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
- </para>
- <example id="zend.service.technorati.queries.bloginfo.example-1">
- <title>BlogInfo Abfrage</title>
- <programlisting role="php"><![CDATA[
- $technorati = new Zend_Service_Technorati('VALID_API_KEY');
- $result = $technorati->blogInfo('http://devzone.zend.com/');
- echo '<h2><a href="' . (string) $result->getWeblog()->getUrl() . '">' .
- $result->getWeblog()->getName() . '</a></h2>';
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.service.technorati.queries.blogposttags">
- <title>Technorati BlogPostTags</title>
- <para>
- Eine <ulink url="http://technorati.com/developers/api/blogposttags.html">BlogPostTags</ulink> Abfrage bietet
- Informationen über Top Tags die von einem spezifischen Blog verwendet werden. Sie gibt ein
- <link linkend="zend.service.technorati.classes.tagsresultset"><classname>Zend_Service_Technorati_TagsResultSet</classname></link>
- Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::blogPostTags()</classname> im
- <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
- </para>
- <example id="zend.service.technorati.queries.blogposttags.example-1">
- <title>BlogPostTags Abfrage</title>
- <programlisting role="php"><![CDATA[
- $technorati = new Zend_Service_Technorati('VALID_API_KEY');
- $resultSet = $technorati->blogPostTags('http://devzone.zend.com/');
- echo "<p>Liest " . $resultSet->totalResults() .
- " von " . $resultSet->totalResultsAvailable() .
- " vorhandenen Ergebnissen</p>";
- echo "<ol>";
- foreach ($resultSet as $result) {
- echo "<li>" . $result->getTag() . "</li>";
- }
- echo "</ol>";
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.service.technorati.queries.getinfo">
- <title>Technorati GetInfo</title>
- <para>
- Eine <ulink url="http://technorati.com/developers/api/getinfo.html">GetInfo</ulink> Abfrage teilt
- mit was Technorati über ein Mitglied weiß. Sie gibt ein
- <link linkend="zend.service.technorati.classes.getinforesult"><classname>Zend_Service_Technorati_GetInfoResult</classname></link>
- Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::getInfo()</classname> im
- <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
- </para>
- <example id="zend.service.technorati.queries.getinfo.example-1">
- <title>GetInfo Abfrage</title>
- <programlisting role="php"><![CDATA[
- $technorati = new Zend_Service_Technorati('VALID_API_KEY');
- $result = $technorati->getInfo('weppos');
- $author = $result->getAuthor();
- echo "<h2>Blogs authorisiert von " . $author->getFirstName() . " " .
- $author->getLastName() . "</h2>";
- echo "<ol>";
- foreach ($result->getWeblogs() as $weblog) {
- echo "<li>" . $weblog->getName() . "</li>";
- }
- echo "</ol>";
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.service.technorati.queries.keyinfo">
- <title>Technorati KeyInfo</title>
- <para>
- Die KeyInfo Abfrage bietet Informationen über die tägliche Verwendung eines API Schlüssels. Sie gibt ein
- <link linkend="zend.service.technorati.classes.keyinforesult"><classname>Zend_Service_Technorati_KeyInfoResult</classname></link>
- Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::keyInfo()</classname> im
- <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
- </para>
- </sect3>
- </sect2>
- <sect2 id="zend.service.technorati.classes">
- <title>Zend_Service_Technorati Klassen</title>
- <para>
- Die folgenden Klassen werden von den verschiedenen Technorati Anfragen zurückgegeben. Jede
- <classname>Zend_Service_Technorati_*ResultSet</classname> Klasse enthält ein typ-spezifisches Ergebnisset
- welches einfach, mit jedem Ergebnis das in einem Typ Ergebnisobjekt enthalten ist, iteriert werden
- kann. Alle Ergebnisset Klassen erweitern die <classname>Zend_Service_Technorati_ResultSet</classname> Klasse
- und implementieren das <code>SeekableIterator</code> Interface, welches eine einfache Iteration und
- Suche nach einem spezifischen Ergebnis erlaubt.
- <itemizedlist>
- <listitem><para><link linkend="zend.service.technorati.classes.resultset"><classname>Zend_Service_Technorati_ResultSet</classname></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.classes.cosmosresultset"><classname>Zend_Service_Technorati_CosmosResultSet</classname></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.classes.searchresultset"><classname>Zend_Service_Technorati_SearchResultSet</classname></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.classes.tagresultset"><classname>Zend_Service_Technorati_TagResultSet</classname></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.classes.dailycountsresultset"><classname>Zend_Service_Technorati_DailyCountsResultSet</classname></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.classes.tagsresultset"><classname>Zend_Service_Technorati_TagsResultSet</classname></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.classes.result"><classname>Zend_Service_Technorati_Result</classname></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.classes.cosmosresult"><classname>Zend_Service_Technorati_CosmosResult</classname></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.classes.searchresult"><classname>Zend_Service_Technorati_SearchResult</classname></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.classes.tagresult"><classname>Zend_Service_Technorati_TagResult</classname></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.classes.dailycountsresult"><classname>Zend_Service_Technorati_DailyCountsResult</classname></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.classes.tagsresult"><classname>Zend_Service_Technorati_TagsResult</classname></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.classes.getinforesult"><classname>Zend_Service_Technorati_GetInfoResult</classname></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.classes.bloginforesult"><classname>Zend_Service_Technorati_BlogInfoResult</classname></link></para></listitem>
- <listitem><para><link linkend="zend.service.technorati.classes.keyinforesult"><classname>Zend_Service_Technorati_KeyInfoResult</classname></link></para></listitem>
- </itemizedlist>
- </para>
- <note>
- <para>
- <classname>Zend_Service_Technorati_GetInfoResult</classname>, <classname>Zend_Service_Technorati_BlogInfoResult</classname>
- und <classname>Zend_Service_Technorati_KeyInfoResult</classname> repräsentieren Ausnahmen zu den obigen weil
- Sie nicht zu einem ergebnisset gehören und sie kein Interface implementieren. Sie repräsentieren
- ein einzelnes Antwortobjekt und sie funktionieren als Wrapper für zusätzliche
- <classname>Zend_Service_Technorati</classname> Objekte, wie <classname>Zend_Service_Technorati_Author</classname>
- und <classname>Zend_Service_Technorati_Weblog</classname>.
- </para>
- </note>
- <para>
- Die <classname>Zend_Service_Technorati</classname> Bibliothek beinhaltet zusätzliche bequeme Klassen die
- spezifische Antwortobjekte repräsentieren. <classname>Zend_Service_Technorati_Author</classname> repräsentiert
- einen einzelnen Technorati Account, welcher auch als Blog Author oder Blogger bekannt ist.
- <classname>Zend_Service_Technorati_Weblog</classname> repräsentiert ein einzelnes Weblog Objekt, zusätzlich mit
- allen spezifischen Weblog eigenschaften sie Feed URLs oder Blog Namen. Für komplette Details kann nach
- <classname>Zend_Service_Technorati</classname> im
- <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
- </para>
- <sect3 id="zend.service.technorati.classes.resultset">
- <title>Zend_Service_Technorati_ResultSet</title>
- <para>
- <classname>Zend_Service_Technorati_ResultSet</classname> ist das am meisten essentielle Ergebnisset. Der
- Zweck dieser Klasse ist es von einer abfrage-spezifischen Kind-Ergebnisset-Klasse erweitert zu
- werden, und sie sollte niemals verwendet werden um ein alleinstehendes Objekt zu initialisieren.
- Jedes der spezifischen Ergebnissets repräsentiert eine Kollektion von abfrage-spezifischen
- <link linkend="zend.service.technorati.classes.result"><classname>Zend_Service_Technorati_Result</classname></link>
- Objekte.
- </para>
- <para>
- <classname>Zend_Service_Technorati_ResultSet</classname> Implementiert das PHP <code>SeekableIterator</code>
- Interface, und man kann durch alle Ergebnisobjekte mit dem PHP Statement <code>foreach</code>
- iterieren.
- </para>
- <example id="zend.service.technorati.classes.resultset.example-1">
- <title>Über Ergebnisobjekte von einer Ergebnisset Kollektion iterieren</title>
- <programlisting role="php"><![CDATA[
- // eine einfache Abfrage durchlaufen
- $technorati = new Zend_Service_Technorati('VALID_API_KEY');
- $resultSet = $technorati->search('php');
- // $resultSet ist jetzt eine Instanz von
- // Zend_Service_Technorati_SearchResultSet
- // sie erweitert Zend_Service_Technorati_ResultSet
- foreach ($resultSet as $result) {
- // irgendwas mit dem Zend_Service_Technorati_SearchResult Objekt anfangen
- }
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.service.technorati.classes.cosmosresultset">
- <title>Zend_Service_Technorati_CosmosResultSet</title>
- <para>
- <classname>Zend_Service_Technorati_CosmosResultSet</classname> repräsentiert ein Technorati Cosmos
- Abfrage Ergebnisset.
- </para>
- <note>
- <para>
- <classname>Zend_Service_Technorati_CosmosResultSet</classname> erweitert
- <link linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>.
- </para>
- </note>
- </sect3>
- <sect3 id="zend.service.technorati.classes.searchresultset">
- <title>Zend_Service_Technorati_SearchResultSet</title>
- <para>
- <classname>Zend_Service_Technorati_SearchResultSet</classname> repräsentiert ein Technorati Search Abfrage
- Ergebnisset.
- </para>
- <note>
- <para>
- <classname>Zend_Service_Technorati_SearchResultSet</classname> erweitert
- <link linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>.
- </para>
- </note>
- </sect3>
- <sect3 id="zend.service.technorati.classes.tagresultset">
- <title>Zend_Service_Technorati_TagResultSet</title>
- <para>
- <classname>Zend_Service_Technorati_TagResultSet</classname> repräsentiert ein Technorati Tag Abfrage
- Ergebnisset.
- </para>
- <note>
- <para>
- <classname>Zend_Service_Technorati_TagResultSet</classname> erweitert
- <link linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>.
- </para>
- </note>
- </sect3>
- <sect3 id="zend.service.technorati.classes.dailycountsresultset">
- <title>Zend_Service_Technorati_DailyCountsResultSet</title>
- <para>
- <classname>Zend_Service_Technorati_DailyCountsResultSet</classname> repräsentiert ein Technorati DailyCounts
- Abfrage Ergebnisset.
- </para>
- <note>
- <para>
- <classname>Zend_Service_Technorati_DailyCountsResultSet</classname> erweitert
- <link linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>.
- </para>
- </note>
- </sect3>
- <sect3 id="zend.service.technorati.classes.tagsresultset">
- <title>Zend_Service_Technorati_TagsResultSet</title>
- <para>
- <classname>Zend_Service_Technorati_TagsResultSet</classname> repräsentiert ein Technorati TopTags oder
- BlogPostTags Abfrage Ergebnisset.
- </para>
- <note>
- <para>
- <classname>Zend_Service_Technorati_TagsResultSet</classname> erweitert
- <link linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>.
- </para>
- </note>
- </sect3>
- <sect3 id="zend.service.technorati.classes.result">
- <title>Zend_Service_Technorati_Result</title>
- <para>
- <classname>Zend_Service_Technorati_Result</classname> ist das wichtigste Ergebnisobjekt. Der Zweck dieser
- Klasse ist es, durch eine abfrage-spezifische Kind-Ergebnisklasse erweitert zu werden, und Sie
- sollte nie verwendet werden um ein alleinstehendes Objekt zu initiieren.
- </para>
- </sect3>
- <sect3 id="zend.service.technorati.classes.cosmosresult">
- <title>Zend_Service_Technorati_CosmosResult</title>
- <para>
- <classname>Zend_Service_Technorati_CosmosResult</classname> repräsentiert ein einzelnes Technorati Cosmos
- Abfrageobjekt. Es wird nie als alleinstehendes Objekt zurückgegeben, aber es gehört immer
- einem gültigen
- <link linkend="zend.service.technorati.classes.cosmosresultset">Zend_Service_Technorati_CosmosResultSet</link>
- Objekt an.
- </para>
- <note>
- <para>
- <classname>Zend_Service_Technorati_CosmosResult</classname> erweitert
- <link linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>.
- </para>
- </note>
- </sect3>
- <sect3 id="zend.service.technorati.classes.searchresult">
- <title>Zend_Service_Technorati_SearchResult</title>
- <para>
- <classname>Zend_Service_Technorati_SearchResult</classname> repräsentiert ein einzelnes Technorati Search
- Abfrage Ergebnisobjekt. Es wird nie als alleinstehendes Objekt zurückgegeben, aber es gehört immer
- einem gültigen
- <link linkend="zend.service.technorati.classes.searchresultset">Zend_Service_Technorati_SearchResultSet</link>
- Objekt an.
- </para>
- <note>
- <para>
- <classname>Zend_Service_Technorati_SearchResult</classname> erweitert
- <link linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>.
- </para>
- </note>
- </sect3>
- <sect3 id="zend.service.technorati.classes.tagresult">
- <title>Zend_Service_Technorati_TagResult</title>
- <para>
- <classname>Zend_Service_Technorati_TagResult</classname> repräsentiert ein einzelnes Technorati Tag
- Abfrage Ergebnisobjekt. Es wird nie als alleinstehendes Objekt zurückgegeben, aber es gehört immer
- einem gültigen
- <link linkend="zend.service.technorati.classes.tagresultset">Zend_Service_Technorati_TagResultSet</link>
- Objekt an.
- </para>
- <note>
- <para>
- <classname>Zend_Service_Technorati_TagResult</classname> erweitert
- <link linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>.
- </para>
- </note>
- </sect3>
- <sect3 id="zend.service.technorati.classes.dailycountsresult">
- <title>Zend_Service_Technorati_DailyCountsResult</title>
- <para>
- <classname>Zend_Service_Technorati_DailyCountsResult</classname> repräsentiert ein einzelnes Technorati
- DailyCounts Abfrage Ergebnisobjekt. Es wird nie als alleinstehendes Objekt zurückgegeben, aber es
- gehört immer einem gültigen
- <link linkend="zend.service.technorati.classes.dailycountsresultset">Zend_Service_Technorati_DailyCountsResultSet</link>
- Objekt an.
- </para>
- <note>
- <para>
- <classname>Zend_Service_Technorati_DailyCountsResult</classname> erweitert
- <link linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>.
- </para>
- </note>
- </sect3>
- <sect3 id="zend.service.technorati.classes.tagsresult">
- <title>Zend_Service_Technorati_TagsResult</title>
- <para>
- <classname>Zend_Service_Technorati_TagsResult</classname> repräsentiert ein einzelnes Technorati TopTags
- oder BlogPostTags Abfrage Ergebnisobjekt. Es wird nie als alleinstehendes Objekt zurückgegeben,
- aber es gehört immer einem gültigen
- <link linkend="zend.service.technorati.classes.tagsresultset">Zend_Service_Technorati_TagsResultSet </link>
- Objekt an.
- </para>
- <note>
- <para>
- <classname>Zend_Service_Technorati_TagsResult</classname> erweitert
- <link linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>.
- </para>
- </note>
- </sect3>
- <sect3 id="zend.service.technorati.classes.getinforesult">
- <title>Zend_Service_Technorati_GetInfoResult</title>
- <para>
- <classname>Zend_Service_Technorati_GetInfoResult</classname> repräsentiert ein einzelnes Technorati GetInfo
- Abfrage Ergebnisobjekt.
- </para>
- </sect3>
- <sect3 id="zend.service.technorati.classes.bloginforesult">
- <title>Zend_Service_Technorati_BlogInfoResult</title>
- <para>
- <classname>Zend_Service_Technorati_BlogInfoResult</classname> repräsentiert ein einzelnes Technorati
- BlogInfo Abfrage Ergebnisobjekt.
- </para>
- </sect3>
- <sect3 id="zend.service.technorati.classes.keyinforesult">
- <title>Zend_Service_Technorati_KeyInfoResult</title>
- <para>
- <classname>Zend_Service_Technorati_KeyInfoResult</classname> repräsentiert ein einzelnes Technorati KeyInfo
- Abfrage Ergebnisobjekt. Es bietet Informationen über die eigene
- <link linkend="zend.service.technorati.checking-api-daily-usage">tägliche Verwendung des Technorati API Schlüssels</link>.
- </para>
- </sect3>
- </sect2>
- </sect1>
|