Zend_Service_Technorati.xml 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 15234 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.service.technorati">
  5. <title>Zend_Service_Technorati</title>
  6. <sect2 id="zend.service.technorati.introduction">
  7. <title>Einführung</title>
  8. <para>
  9. <classname>Zend_Service_Technorati</classname> bietet ein einfaches, intuitives und objekt-orientiertes
  10. Interface für die Verwendung der Technorati API. Es bietet Zugriff zu allen vorhandenen
  11. <ulink url="http://technorati.com/developers/api/">Technorati API Abfragen</ulink> und gibt
  12. die originalen XML Antworten als freundliches PHP Objekt zurück.
  13. </para>
  14. <para>
  15. <ulink url="http://technorati.com/">Technorati</ulink> ist eine der populärsten Blog Suchmaschinen.
  16. Das API Interface ermöglicht es Entwicklern Informationen über einen spezifischen Blog zu erhalten,
  17. Blogs zu suchen die einem einzelnen Tag oder einer Phrase entsprechen und Informationen über einen
  18. spezifischen Author (Blogger) erhalten. Für eine komplette Liste von vorhandenen Abfragen kann in die
  19. <ulink url="http://technorati.com/developers/api/">Technorati API Dokumentation</ulink> oder die
  20. <link linkend="zend.service.technorati.queries">vorhandenen Technorati Abfragen</link>-Sektion dieses
  21. Dokuments gesehen werden.
  22. </para>
  23. </sect2>
  24. <sect2 id="zend.service.technorati.getting-started">
  25. <title>Anfangen</title>
  26. <para>
  27. Technorati benötigt einen gültigen API Schlüssel zur Verwendung. Um einen eigenen API SChlüssel zu
  28. erhalten muss
  29. <ulink url="http://technorati.com/signup/">ein neuer Technorati Account erstellt werden</ulink>,
  30. und anschließend die
  31. <ulink url="http://technorati.com/developers/apikey.html">API Schlüssel Sektion</ulink> besucht werden.
  32. </para>
  33. <note>
  34. <title>API Schlüssel Beschränkungen</title>
  35. <para>
  36. Es können bis zu 500 Technirati API Aufrufe pro Tag durchgeführt werden ohne das Kosten anfallen.
  37. Andere Limitationen der Verwendung können vorhanden sein, abhängig von der aktuellen Technorati
  38. API Lizenz.
  39. </para>
  40. </note>
  41. <para>
  42. Sobald man einen gültigen API Schlüssel hat, kann man beginnen <classname>Zend_Service_Technorati</classname>
  43. zu verwenden.
  44. </para>
  45. </sect2>
  46. <sect2 id="zend.service.technorati.making-first-query">
  47. <title>Die erste Abfrage durchführen</title>
  48. <para>
  49. Um eine Abfrage durchzuführen, benötigt man zuerst eine <classname>Zend_Service_Technorati</classname> Instanz
  50. mit einem gültigen API Schlüssel. Dann kann eine der vorhandenen Abfragemethoden ausgewählt werden,
  51. und durch Angabe der benötigen Argumente aufgerufen werden.
  52. </para>
  53. <example id="zend.service.technorati.making-first-query.example-1">
  54. <title>Die erste Abfragen senden</title>
  55. <programlisting role="php"><![CDATA[
  56. // ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
  57. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  58. // Technorati nach dem Schlüsselwort PHP durchsuchen
  59. $resultSet = $technorati->search('PHP');
  60. ]]></programlisting>
  61. </example>
  62. <para>
  63. Jede Abfragemethode akzeptiert ein Array von optionalen Parametern die verwendet werden kann um die
  64. Abfrage zu verfeinern.
  65. </para>
  66. <example id="zend.service.technorati.making-first-query.example-2">
  67. <title>Verfeinern der Abfrage</title>
  68. <programlisting role="php"><![CDATA[
  69. // ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
  70. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  71. // Die Abfrage nach Ergebnissen mit etwas Authority filtern
  72. // (Ergebnisse von Blogs mit einer Handvoll Links)
  73. $options = array('authority' => 'a4');
  74. // Technorati nach dem Schlüsselwort PHP durchsuchen
  75. $resultSet = $technorati->search('PHP', $options);
  76. ]]></programlisting>
  77. </example>
  78. <para>
  79. Eine <classname>Zend_Service_Technorati</classname> Instanz ist kein einmal zu verwendendes Objekt. Deswegen
  80. muß keine neue Instanz für jede Abfrage erstellt werden; es kann einfach das aktuelle
  81. <classname>Zend_Service_Technorati</classname> Objekt solange verwendet werden wie es benötigt wird.
  82. </para>
  83. <example id="zend.service.technorati.making-first-query.example-3">
  84. <title>Mehrfache Abfragen mit der gleichen Zend_Service_Technorati Instanz senden</title>
  85. <programlisting role="php"><![CDATA[
  86. // ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
  87. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  88. // Technorati nach dem Schlüsselwort PHP durchsuchen
  89. $search = $technorati->search('PHP');
  90. // Top Tags die von Technorati indiziert wurden erhalten
  91. $topTags = $technorati->topTags();
  92. ]]></programlisting>
  93. </example>
  94. </sect2>
  95. <sect2 id="zend.service.technorati.consuming-results">
  96. <title>Ergebnisse verarbeiten</title>
  97. <para>
  98. Es kann einer von zwei Typen von Ergebnisobjekten als Antwort auf eine Abfrage empfangen werden.
  99. </para>
  100. <para>
  101. Die erste Gruppe wird durch <classname>Zend_Service_Technorati_*ResultSet</classname> Objekte repräsentiert.
  102. Ein Ergebnisset Objekt ist grundsätzlich eine Kollektion von Ergebnisobjekten. Es erweitert die
  103. grundsätzliche <classname>Zend_Service_Technorati_ResultSet</classname> Klasse und implementiert das PHP
  104. Interface <code>SeekableIterator</code>. Der beste Weg um ein Ergebnisset Objekt zu verarbeiten
  105. ist dieses mit einem PHP <code>foreach</code> Statement zu durchlaufen.
  106. </para>
  107. <example id="zend.service.technorati.consuming-results.example-1">
  108. <title>Ein Ergebnisset Objekt verarbeiten</title>
  109. <programlisting role="php"><![CDATA[
  110. // ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
  111. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  112. // Technorati nach dem PHP Schlüsselwort durchsuchen
  113. // $resultSet ist eine Instanz von Zend_Service_Technorati_SearchResultSet
  114. $resultSet = $technorati->search('PHP');
  115. // Alle Ergebnisobjekte durchlaufen
  116. foreach ($resultSet as $result) {
  117. // $result ist eine Instanz von Zend_Service_Technorati_SearchResult
  118. }
  119. ]]></programlisting>
  120. </example>
  121. <para>
  122. Weil <classname>Zend_Service_Technorati_ResultSet</classname> das <code>SeekableIterator</code> Interface
  123. implementiert, kann ein spezifisches Ergebnisobjekt gesucht werden indem dessen Position in der
  124. Ergebnissammlung verwendet wird.
  125. </para>
  126. <example id="zend.service.technorati.consuming-results.example-2">
  127. <title>Ein spezifisches Ergebnisset Objekt suchen</title>
  128. <programlisting role="php"><![CDATA[
  129. // ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
  130. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  131. // Technorati nach dem PHP Schlüsselwort durchsuchen
  132. // $resultSet ist eine Instanz von Zend_Service_Technorati_SearchResultSet
  133. $resultSet = $technorati->search('PHP');
  134. // $result ist eine Instanz von Zend_Service_Technorati_SearchResult
  135. $resultSet->seek(1);
  136. $result = $resultSet->current();
  137. ]]></programlisting>
  138. </example>
  139. <note>
  140. <para>
  141. <code>SeekableIterator</code> arbeitet als Array und zählt Positionen beginnend vom Index 0.
  142. Das Holen der Position 1 bedeutet das man das zweite Ergebnis der Kollektion erhält.
  143. </para>
  144. </note>
  145. <para>
  146. Die zweite Gruppe wird durch spezielle alleinstehende Ergebnisobjekte repräsentiert.
  147. <classname>Zend_Service_Technorati_GetInfoResult</classname>, <classname>Zend_Service_Technorati_BlogInfoResult</classname>
  148. und <classname>Zend_Service_Technorati_KeyInfoResult</classname> funktionieren als Wrapper für zusätzliche Objekte,
  149. wie <classname>Zend_Service_Technorati_Author</classname> und <classname>Zend_Service_Technorati_Weblog</classname>.
  150. </para>
  151. <example id="zend.service.technorati.consuming-results.example-3">
  152. <title>Ein alleinstehendes Ergebnisobjekt verarbeiten</title>
  153. <programlisting role="php"><![CDATA[
  154. // ein neues Zend_Service_Technorati mit einem gültigen API_KEY erstellen
  155. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  156. // Infos über weppos Author erhalten
  157. $result = $technorati->getInfo('weppos');
  158. $author = $result->getAuthor();
  159. echo '<h2>Blogs authorisiert von ' . $author->getFirstName() . " " .
  160. $author->getLastName() . '</h2>';
  161. echo '<ol>';
  162. foreach ($result->getWeblogs() as $weblog) {
  163. echo '<li>' . $weblog->getName() . '</li>';
  164. }
  165. echo "</ol>";
  166. ]]></programlisting>
  167. </example>
  168. <para>
  169. Bitte lesen Sie das
  170. <link linkend="zend.service.technorati.classes">Zend_Service_Technorati Klassen</link> Kapitel
  171. für weitere Details über Antwortklassen.
  172. </para>
  173. </sect2>
  174. <sect2 id="zend.service.technorati.handling-errors">
  175. <title>Fehler behandeln</title>
  176. <para>
  177. Jede <classname>Zend_Service_Technorati</classname> Abfragemethode wirft bei einem Fehler eine
  178. <classname>Zend_Service_Technorati_Exception</classname> Ausnahme mit einer bedeutungsvollen Fehlermeldung.
  179. </para>
  180. <para>
  181. Es gibt verschiedene Gründe die Verursachen können das eine <classname>Zend_Service_Technorati</classname>
  182. Abfrage fehlschlägt. <classname>Zend_Service_Technorati</classname> prüft alle Parameter für jegliche
  183. Abfrageanfragen. Wenn ein Parameter ungültig ist oder er einen ungültigen Wert enthält, wird eine
  184. neue <classname>Zend_Service_Technorati_Exception</classname> Ausnahme geworfen. Zusätzlich kann das
  185. Technorati API Interface temporär unerreichbar sein, oder es kann eine Antwort zurückgeben die nicht
  186. gültig ist.
  187. </para>
  188. <para>
  189. Eine Technorati Abfrage sollte immer mit einem <code>try</code>...<code>catch</code> Block umhüllt
  190. werden.
  191. </para>
  192. <example id="zend.service.technorati.handling-errors.example-1">
  193. <title>Eine Abfrageausnahme behandeln</title>
  194. <programlisting role="php"><![CDATA[
  195. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  196. try {
  197. $resultSet = $technorati->search('PHP');
  198. } catch(Zend_Service_Technorati_Exception $e) {
  199. echo "Ein Fehler ist aufgetreten: " $e->getMessage();
  200. }
  201. ]]></programlisting>
  202. </example>
  203. </sect2>
  204. <sect2 id="zend.service.technorati.checking-api-daily-usage">
  205. <title>Prüfen der täglichen Verwendung des eigenen API Schlüssels</title>
  206. <para>
  207. Von Zeit zu Zeit wird man die tägliche Verwendung des API Schlüssels prüfen wollen. Standardmäßig
  208. limitiert Technorati die API Verwendung auf 500 Aufrufe pro Tag, und eine Ausnahme wird durch
  209. <classname>Zend_Service_Technorati</classname> zurückgegeben wenn versucht wird dieses Limit zu überschreiten.
  210. Man kann diese Information über die Verwendung des eigenen API Schlüssels erhalten indem die
  211. <classname>Zend_Service_Technorati::keyInfo()</classname> Methode verwendet wird.
  212. </para>
  213. <para>
  214. <classname>Zend_Service_Technorati::keyInfo()</classname> gibt ein
  215. <classname>Zend_Service_Technorati_KeyInfoResult</classname> Object zurück. Für vollständige Details kann im
  216. <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
  217. </para>
  218. <example id="zend.service.technorati.checking-api-daily-usage.example-1">
  219. <title>Die Information über die tägliche Verwendung des API Schlüssels erhalten</title>
  220. <programlisting role="php"><![CDATA[
  221. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  222. $key = $technorati->keyInfo();
  223. echo "API Schlüssel: " . $key->getApiKey() . "<br />";
  224. echo "Tägliche Verwendung: " . $key->getApiQueries() . "/" .
  225. $key->getMaxQueries() . "<br />";
  226. ]]></programlisting>
  227. </example>
  228. </sect2>
  229. <sect2 id="zend.service.technorati.queries">
  230. <title>Vorhandene Technorati Abfragen</title>
  231. <para>
  232. <classname>Zend_Service_Technorati</classname> bietet Unterstützung für die folgenden Abfragen:
  233. <itemizedlist>
  234. <listitem><para><link linkend="zend.service.technorati.queries.cosmos"><code>Cosmos</code></link></para></listitem>
  235. <listitem><para><link linkend="zend.service.technorati.queries.search"><code>Search</code></link></para></listitem>
  236. <listitem><para><link linkend="zend.service.technorati.queries.tag"><code>Tag</code></link></para></listitem>
  237. <listitem><para><link linkend="zend.service.technorati.queries.dailycounts"><code>DailyCounts</code></link></para></listitem>
  238. <listitem><para><link linkend="zend.service.technorati.queries.toptags"><code>TopTags</code></link></para></listitem>
  239. <listitem><para><link linkend="zend.service.technorati.queries.bloginfo"><code>BlogInfo</code></link></para></listitem>
  240. <listitem><para><link linkend="zend.service.technorati.queries.blogposttags"><code>BlogPostTags</code></link></para></listitem>
  241. <listitem><para><link linkend="zend.service.technorati.queries.getinfo"><code>GetInfo</code></link></para></listitem>
  242. </itemizedlist>
  243. </para>
  244. <sect3 id="zend.service.technorati.queries.cosmos">
  245. <title>Technorati Cosmos</title>
  246. <para>
  247. Eine <ulink url="http://technorati.com/developers/api/cosmos.html">Cosmos</ulink> Abfrage lässt
  248. einen Sehen welche Blog zu einer gegebenen URL verknüpft sind. Sie gibt ein
  249. <link linkend="zend.service.technorati.classes.cosmosresultset"><classname>Zend_Service_Technorati_CosmosResultSet</classname></link>
  250. Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::cosmos()</classname> im
  251. <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
  252. </para>
  253. <example id="zend.service.technorati.queries.cosmos.example-1">
  254. <title>Cosmos Abfrage</title>
  255. <programlisting role="php"><![CDATA[
  256. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  257. $resultSet = $technorati->cosmos('http://devzone.zend.com/');
  258. echo "<p>Liest " . $resultSet->totalResults() .
  259. " von " . $resultSet->totalResultsAvailable() .
  260. " vorhandenen Ergebnissen</p>";
  261. echo "<ol>";
  262. foreach ($resultSet as $result) {
  263. echo "<li>" . $result->getWeblog()->getName() . "</li>";
  264. }
  265. echo "</ol>";
  266. ]]></programlisting>
  267. </example>
  268. </sect3>
  269. <sect3 id="zend.service.technorati.queries.search">
  270. <title>Technorati Search</title>
  271. <para>
  272. Die <ulink url="http://technorati.com/developers/api/search.html">Search</ulink> Abfrage lässt
  273. einen Sehen welche Blogs einen gegebenen Suchstring enthalten. Sie gibt ein
  274. <link linkend="zend.service.technorati.classes.searchresultset"><classname>Zend_Service_Technorati_SearchResultSet</classname></link>
  275. Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::search()</classname> im
  276. <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
  277. </para>
  278. <example id="zend.service.technorati.queries.search.example-1">
  279. <title>Suchabfrage</title>
  280. <programlisting role="php"><![CDATA[
  281. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  282. $resultSet = $technorati->search('zend framework');
  283. echo "<p>Liest " . $resultSet->totalResults() .
  284. " von " . $resultSet->totalResultsAvailable() .
  285. " vorhandenen Ergebnissen</p>";
  286. echo "<ol>";
  287. foreach ($resultSet as $result) {
  288. echo "<li>" . $result->getWeblog()->getName() . "</li>";
  289. }
  290. echo "</ol>";
  291. ]]></programlisting>
  292. </example>
  293. </sect3>
  294. <sect3 id="zend.service.technorati.queries.tag">
  295. <title>Technorati Tag</title>
  296. <para>
  297. Die <ulink url="http://technorati.com/developers/api/tag.html">Tag</ulink> Abfrage lässt einen
  298. Sehen welche Antworten mit einem gegebenen Tag assoziiert sind. Sie gibt ein
  299. <link linkend="zend.service.technorati.classes.tagresultset"><classname>Zend_Service_Technorati_TagResultSet</classname></link>
  300. Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::tag()</classname> im
  301. <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
  302. </para>
  303. <example id="zend.service.technorati.queries.tag.example-1">
  304. <title>Tag Abfrage</title>
  305. <programlisting role="php"><![CDATA[
  306. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  307. $resultSet = $technorati->tag('php');
  308. echo "<p>Liest " . $resultSet->totalResults() .
  309. " von " . $resultSet->totalResultsAvailable() .
  310. " vorhandenen Ergebnissen</p>";
  311. echo "<ol>";
  312. foreach ($resultSet as $result) {
  313. echo "<li>" . $result->getWeblog()->getName() . "</li>";
  314. }
  315. echo "</ol>";
  316. ]]></programlisting>
  317. </example>
  318. </sect3>
  319. <sect3 id="zend.service.technorati.queries.dailycounts">
  320. <title>Technorati DailyCounts</title>
  321. <para>
  322. Die <ulink url="http://technorati.com/developers/api/dailycounts.html">DailyCounts</ulink> Abfrage
  323. bietet tägliche Anzahlen von Antworten die ein abgefragtes Schlüsselwort enthalten. Sie gibt ein
  324. <link linkend="zend.service.technorati.classes.dailycountsresultset"><classname>Zend_Service_Technorati_DailyCountsResultSet</classname></link>
  325. Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::dailyCounts()</classname> im
  326. <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
  327. </para>
  328. <example id="zend.service.technorati.queries.dailycounts.example-1">
  329. <title>DailyCounts Abfrage</title>
  330. <programlisting role="php"><![CDATA[
  331. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  332. $resultSet = $technorati->dailyCounts('php');
  333. foreach ($resultSet as $result) {
  334. echo "<li>" . $result->getDate() .
  335. "(" . $result->getCount() . ")</li>";
  336. }
  337. echo "</ol>";
  338. ]]></programlisting>
  339. </example>
  340. </sect3>
  341. <sect3 id="zend.service.technorati.queries.toptags">
  342. <title>Technorati TopTags</title>
  343. <para>
  344. Die <ulink url="http://technorati.com/developers/api/toptags.html">TopTags</ulink> Abfrage
  345. bietet Informationen über Top Tags die durch Technorati indiziert sind. Sie gibt ein
  346. <link linkend="zend.service.technorati.classes.tagsresultset"><classname>Zend_Service_Technorati_TagsResultSet</classname></link>
  347. Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::topTags()</classname> im
  348. <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
  349. </para>
  350. <example id="zend.service.technorati.queries.toptags.example-1">
  351. <title>TopTags Abfrage</title>
  352. <programlisting role="php"><![CDATA[
  353. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  354. $resultSet = $technorati->topTags();
  355. echo "<p>Liest " . $resultSet->totalResults() .
  356. " von " . $resultSet->totalResultsAvailable() .
  357. " vorhandenen Ergebnissen</p>";
  358. echo "<ol>";
  359. foreach ($resultSet as $result) {
  360. echo "<li>" . $result->getTag() . "</li>";
  361. }
  362. echo "</ol>";
  363. ]]></programlisting>
  364. </example>
  365. </sect3>
  366. <sect3 id="zend.service.technorati.queries.bloginfo">
  367. <title>Technorati BlogInfo</title>
  368. <para>
  369. Eine <ulink url="http://technorati.com/developers/api/bloginfo.html">BlogInfo</ulink> Abfrage bietet
  370. Informationen darüber welcher Blog, wenn überhaupt, mit einer gegebenen URL assoziiert ist. Sie gibt ein
  371. <link linkend="zend.service.technorati.classes.bloginforesult"><classname>Zend_Service_Technorati_BlogInfoResult</classname></link>
  372. Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::blogInfo()</classname> im
  373. <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
  374. </para>
  375. <example id="zend.service.technorati.queries.bloginfo.example-1">
  376. <title>BlogInfo Abfrage</title>
  377. <programlisting role="php"><![CDATA[
  378. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  379. $result = $technorati->blogInfo('http://devzone.zend.com/');
  380. echo '<h2><a href="' . (string) $result->getWeblog()->getUrl() . '">' .
  381. $result->getWeblog()->getName() . '</a></h2>';
  382. ]]></programlisting>
  383. </example>
  384. </sect3>
  385. <sect3 id="zend.service.technorati.queries.blogposttags">
  386. <title>Technorati BlogPostTags</title>
  387. <para>
  388. Eine <ulink url="http://technorati.com/developers/api/blogposttags.html">BlogPostTags</ulink> Abfrage bietet
  389. Informationen über Top Tags die von einem spezifischen Blog verwendet werden. Sie gibt ein
  390. <link linkend="zend.service.technorati.classes.tagsresultset"><classname>Zend_Service_Technorati_TagsResultSet</classname></link>
  391. Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::blogPostTags()</classname> im
  392. <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
  393. </para>
  394. <example id="zend.service.technorati.queries.blogposttags.example-1">
  395. <title>BlogPostTags Abfrage</title>
  396. <programlisting role="php"><![CDATA[
  397. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  398. $resultSet = $technorati->blogPostTags('http://devzone.zend.com/');
  399. echo "<p>Liest " . $resultSet->totalResults() .
  400. " von " . $resultSet->totalResultsAvailable() .
  401. " vorhandenen Ergebnissen</p>";
  402. echo "<ol>";
  403. foreach ($resultSet as $result) {
  404. echo "<li>" . $result->getTag() . "</li>";
  405. }
  406. echo "</ol>";
  407. ]]></programlisting>
  408. </example>
  409. </sect3>
  410. <sect3 id="zend.service.technorati.queries.getinfo">
  411. <title>Technorati GetInfo</title>
  412. <para>
  413. Eine <ulink url="http://technorati.com/developers/api/getinfo.html">GetInfo</ulink> Abfrage teilt
  414. mit was Technorati über ein Mitglied weiß. Sie gibt ein
  415. <link linkend="zend.service.technorati.classes.getinforesult"><classname>Zend_Service_Technorati_GetInfoResult</classname></link>
  416. Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::getInfo()</classname> im
  417. <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
  418. </para>
  419. <example id="zend.service.technorati.queries.getinfo.example-1">
  420. <title>GetInfo Abfrage</title>
  421. <programlisting role="php"><![CDATA[
  422. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  423. $result = $technorati->getInfo('weppos');
  424. $author = $result->getAuthor();
  425. echo "<h2>Blogs authorisiert von " . $author->getFirstName() . " " .
  426. $author->getLastName() . "</h2>";
  427. echo "<ol>";
  428. foreach ($result->getWeblogs() as $weblog) {
  429. echo "<li>" . $weblog->getName() . "</li>";
  430. }
  431. echo "</ol>";
  432. ]]></programlisting>
  433. </example>
  434. </sect3>
  435. <sect3 id="zend.service.technorati.queries.keyinfo">
  436. <title>Technorati KeyInfo</title>
  437. <para>
  438. Die KeyInfo Abfrage bietet Informationen über die tägliche Verwendung eines API Schlüssels. Sie gibt ein
  439. <link linkend="zend.service.technorati.classes.keyinforesult"><classname>Zend_Service_Technorati_KeyInfoResult</classname></link>
  440. Objekt zurück. Für vollständige Details kann nach <classname>Zend_Service_Technorati::keyInfo()</classname> im
  441. <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
  442. </para>
  443. </sect3>
  444. </sect2>
  445. <sect2 id="zend.service.technorati.classes">
  446. <title>Zend_Service_Technorati Klassen</title>
  447. <para>
  448. Die folgenden Klassen werden von den verschiedenen Technorati Anfragen zurückgegeben. Jede
  449. <classname>Zend_Service_Technorati_*ResultSet</classname> Klasse enthält ein typ-spezifisches Ergebnisset
  450. welches einfach, mit jedem Ergebnis das in einem Typ Ergebnisobjekt enthalten ist, iteriert werden
  451. kann. Alle Ergebnisset Klassen erweitern die <classname>Zend_Service_Technorati_ResultSet</classname> Klasse
  452. und implementieren das <code>SeekableIterator</code> Interface, welches eine einfache Iteration und
  453. Suche nach einem spezifischen Ergebnis erlaubt.
  454. <itemizedlist>
  455. <listitem><para><link linkend="zend.service.technorati.classes.resultset"><classname>Zend_Service_Technorati_ResultSet</classname></link></para></listitem>
  456. <listitem><para><link linkend="zend.service.technorati.classes.cosmosresultset"><classname>Zend_Service_Technorati_CosmosResultSet</classname></link></para></listitem>
  457. <listitem><para><link linkend="zend.service.technorati.classes.searchresultset"><classname>Zend_Service_Technorati_SearchResultSet</classname></link></para></listitem>
  458. <listitem><para><link linkend="zend.service.technorati.classes.tagresultset"><classname>Zend_Service_Technorati_TagResultSet</classname></link></para></listitem>
  459. <listitem><para><link linkend="zend.service.technorati.classes.dailycountsresultset"><classname>Zend_Service_Technorati_DailyCountsResultSet</classname></link></para></listitem>
  460. <listitem><para><link linkend="zend.service.technorati.classes.tagsresultset"><classname>Zend_Service_Technorati_TagsResultSet</classname></link></para></listitem>
  461. <listitem><para><link linkend="zend.service.technorati.classes.result"><classname>Zend_Service_Technorati_Result</classname></link></para></listitem>
  462. <listitem><para><link linkend="zend.service.technorati.classes.cosmosresult"><classname>Zend_Service_Technorati_CosmosResult</classname></link></para></listitem>
  463. <listitem><para><link linkend="zend.service.technorati.classes.searchresult"><classname>Zend_Service_Technorati_SearchResult</classname></link></para></listitem>
  464. <listitem><para><link linkend="zend.service.technorati.classes.tagresult"><classname>Zend_Service_Technorati_TagResult</classname></link></para></listitem>
  465. <listitem><para><link linkend="zend.service.technorati.classes.dailycountsresult"><classname>Zend_Service_Technorati_DailyCountsResult</classname></link></para></listitem>
  466. <listitem><para><link linkend="zend.service.technorati.classes.tagsresult"><classname>Zend_Service_Technorati_TagsResult</classname></link></para></listitem>
  467. <listitem><para><link linkend="zend.service.technorati.classes.getinforesult"><classname>Zend_Service_Technorati_GetInfoResult</classname></link></para></listitem>
  468. <listitem><para><link linkend="zend.service.technorati.classes.bloginforesult"><classname>Zend_Service_Technorati_BlogInfoResult</classname></link></para></listitem>
  469. <listitem><para><link linkend="zend.service.technorati.classes.keyinforesult"><classname>Zend_Service_Technorati_KeyInfoResult</classname></link></para></listitem>
  470. </itemizedlist>
  471. </para>
  472. <note>
  473. <para>
  474. <classname>Zend_Service_Technorati_GetInfoResult</classname>, <classname>Zend_Service_Technorati_BlogInfoResult</classname>
  475. und <classname>Zend_Service_Technorati_KeyInfoResult</classname> repräsentieren Ausnahmen zu den obigen weil
  476. Sie nicht zu einem ergebnisset gehören und sie kein Interface implementieren. Sie repräsentieren
  477. ein einzelnes Antwortobjekt und sie funktionieren als Wrapper für zusätzliche
  478. <classname>Zend_Service_Technorati</classname> Objekte, wie <classname>Zend_Service_Technorati_Author</classname>
  479. und <classname>Zend_Service_Technorati_Weblog</classname>.
  480. </para>
  481. </note>
  482. <para>
  483. Die <classname>Zend_Service_Technorati</classname> Bibliothek beinhaltet zusätzliche bequeme Klassen die
  484. spezifische Antwortobjekte repräsentieren. <classname>Zend_Service_Technorati_Author</classname> repräsentiert
  485. einen einzelnen Technorati Account, welcher auch als Blog Author oder Blogger bekannt ist.
  486. <classname>Zend_Service_Technorati_Weblog</classname> repräsentiert ein einzelnes Weblog Objekt, zusätzlich mit
  487. allen spezifischen Weblog eigenschaften sie Feed URLs oder Blog Namen. Für komplette Details kann nach
  488. <classname>Zend_Service_Technorati</classname> im
  489. <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen werden.
  490. </para>
  491. <sect3 id="zend.service.technorati.classes.resultset">
  492. <title>Zend_Service_Technorati_ResultSet</title>
  493. <para>
  494. <classname>Zend_Service_Technorati_ResultSet</classname> ist das am meisten essentielle Ergebnisset. Der
  495. Zweck dieser Klasse ist es von einer abfrage-spezifischen Kind-Ergebnisset-Klasse erweitert zu
  496. werden, und sie sollte niemals verwendet werden um ein alleinstehendes Objekt zu initialisieren.
  497. Jedes der spezifischen Ergebnissets repräsentiert eine Kollektion von abfrage-spezifischen
  498. <link linkend="zend.service.technorati.classes.result"><classname>Zend_Service_Technorati_Result</classname></link>
  499. Objekte.
  500. </para>
  501. <para>
  502. <classname>Zend_Service_Technorati_ResultSet</classname> Implementiert das PHP <code>SeekableIterator</code>
  503. Interface, und man kann durch alle Ergebnisobjekte mit dem PHP Statement <code>foreach</code>
  504. iterieren.
  505. </para>
  506. <example id="zend.service.technorati.classes.resultset.example-1">
  507. <title>Über Ergebnisobjekte von einer Ergebnisset Kollektion iterieren</title>
  508. <programlisting role="php"><![CDATA[
  509. // eine einfache Abfrage durchlaufen
  510. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  511. $resultSet = $technorati->search('php');
  512. // $resultSet ist jetzt eine Instanz von
  513. // Zend_Service_Technorati_SearchResultSet
  514. // sie erweitert Zend_Service_Technorati_ResultSet
  515. foreach ($resultSet as $result) {
  516. // irgendwas mit dem Zend_Service_Technorati_SearchResult Objekt anfangen
  517. }
  518. ]]></programlisting>
  519. </example>
  520. </sect3>
  521. <sect3 id="zend.service.technorati.classes.cosmosresultset">
  522. <title>Zend_Service_Technorati_CosmosResultSet</title>
  523. <para>
  524. <classname>Zend_Service_Technorati_CosmosResultSet</classname> repräsentiert ein Technorati Cosmos
  525. Abfrage Ergebnisset.
  526. </para>
  527. <note>
  528. <para>
  529. <classname>Zend_Service_Technorati_CosmosResultSet</classname> erweitert
  530. <link linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>.
  531. </para>
  532. </note>
  533. </sect3>
  534. <sect3 id="zend.service.technorati.classes.searchresultset">
  535. <title>Zend_Service_Technorati_SearchResultSet</title>
  536. <para>
  537. <classname>Zend_Service_Technorati_SearchResultSet</classname> repräsentiert ein Technorati Search Abfrage
  538. Ergebnisset.
  539. </para>
  540. <note>
  541. <para>
  542. <classname>Zend_Service_Technorati_SearchResultSet</classname> erweitert
  543. <link linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>.
  544. </para>
  545. </note>
  546. </sect3>
  547. <sect3 id="zend.service.technorati.classes.tagresultset">
  548. <title>Zend_Service_Technorati_TagResultSet</title>
  549. <para>
  550. <classname>Zend_Service_Technorati_TagResultSet</classname> repräsentiert ein Technorati Tag Abfrage
  551. Ergebnisset.
  552. </para>
  553. <note>
  554. <para>
  555. <classname>Zend_Service_Technorati_TagResultSet</classname> erweitert
  556. <link linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>.
  557. </para>
  558. </note>
  559. </sect3>
  560. <sect3 id="zend.service.technorati.classes.dailycountsresultset">
  561. <title>Zend_Service_Technorati_DailyCountsResultSet</title>
  562. <para>
  563. <classname>Zend_Service_Technorati_DailyCountsResultSet</classname> repräsentiert ein Technorati DailyCounts
  564. Abfrage Ergebnisset.
  565. </para>
  566. <note>
  567. <para>
  568. <classname>Zend_Service_Technorati_DailyCountsResultSet</classname> erweitert
  569. <link linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>.
  570. </para>
  571. </note>
  572. </sect3>
  573. <sect3 id="zend.service.technorati.classes.tagsresultset">
  574. <title>Zend_Service_Technorati_TagsResultSet</title>
  575. <para>
  576. <classname>Zend_Service_Technorati_TagsResultSet</classname> repräsentiert ein Technorati TopTags oder
  577. BlogPostTags Abfrage Ergebnisset.
  578. </para>
  579. <note>
  580. <para>
  581. <classname>Zend_Service_Technorati_TagsResultSet</classname> erweitert
  582. <link linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>.
  583. </para>
  584. </note>
  585. </sect3>
  586. <sect3 id="zend.service.technorati.classes.result">
  587. <title>Zend_Service_Technorati_Result</title>
  588. <para>
  589. <classname>Zend_Service_Technorati_Result</classname> ist das wichtigste Ergebnisobjekt. Der Zweck dieser
  590. Klasse ist es, durch eine abfrage-spezifische Kind-Ergebnisklasse erweitert zu werden, und Sie
  591. sollte nie verwendet werden um ein alleinstehendes Objekt zu initiieren.
  592. </para>
  593. </sect3>
  594. <sect3 id="zend.service.technorati.classes.cosmosresult">
  595. <title>Zend_Service_Technorati_CosmosResult</title>
  596. <para>
  597. <classname>Zend_Service_Technorati_CosmosResult</classname> repräsentiert ein einzelnes Technorati Cosmos
  598. Abfrageobjekt. Es wird nie als alleinstehendes Objekt zurückgegeben, aber es gehört immer
  599. einem gültigen
  600. <link linkend="zend.service.technorati.classes.cosmosresultset">Zend_Service_Technorati_CosmosResultSet</link>
  601. Objekt an.
  602. </para>
  603. <note>
  604. <para>
  605. <classname>Zend_Service_Technorati_CosmosResult</classname> erweitert
  606. <link linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>.
  607. </para>
  608. </note>
  609. </sect3>
  610. <sect3 id="zend.service.technorati.classes.searchresult">
  611. <title>Zend_Service_Technorati_SearchResult</title>
  612. <para>
  613. <classname>Zend_Service_Technorati_SearchResult</classname> repräsentiert ein einzelnes Technorati Search
  614. Abfrage Ergebnisobjekt. Es wird nie als alleinstehendes Objekt zurückgegeben, aber es gehört immer
  615. einem gültigen
  616. <link linkend="zend.service.technorati.classes.searchresultset">Zend_Service_Technorati_SearchResultSet</link>
  617. Objekt an.
  618. </para>
  619. <note>
  620. <para>
  621. <classname>Zend_Service_Technorati_SearchResult</classname> erweitert
  622. <link linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>.
  623. </para>
  624. </note>
  625. </sect3>
  626. <sect3 id="zend.service.technorati.classes.tagresult">
  627. <title>Zend_Service_Technorati_TagResult</title>
  628. <para>
  629. <classname>Zend_Service_Technorati_TagResult</classname> repräsentiert ein einzelnes Technorati Tag
  630. Abfrage Ergebnisobjekt. Es wird nie als alleinstehendes Objekt zurückgegeben, aber es gehört immer
  631. einem gültigen
  632. <link linkend="zend.service.technorati.classes.tagresultset">Zend_Service_Technorati_TagResultSet</link>
  633. Objekt an.
  634. </para>
  635. <note>
  636. <para>
  637. <classname>Zend_Service_Technorati_TagResult</classname> erweitert
  638. <link linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>.
  639. </para>
  640. </note>
  641. </sect3>
  642. <sect3 id="zend.service.technorati.classes.dailycountsresult">
  643. <title>Zend_Service_Technorati_DailyCountsResult</title>
  644. <para>
  645. <classname>Zend_Service_Technorati_DailyCountsResult</classname> repräsentiert ein einzelnes Technorati
  646. DailyCounts Abfrage Ergebnisobjekt. Es wird nie als alleinstehendes Objekt zurückgegeben, aber es
  647. gehört immer einem gültigen
  648. <link linkend="zend.service.technorati.classes.dailycountsresultset">Zend_Service_Technorati_DailyCountsResultSet</link>
  649. Objekt an.
  650. </para>
  651. <note>
  652. <para>
  653. <classname>Zend_Service_Technorati_DailyCountsResult</classname> erweitert
  654. <link linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>.
  655. </para>
  656. </note>
  657. </sect3>
  658. <sect3 id="zend.service.technorati.classes.tagsresult">
  659. <title>Zend_Service_Technorati_TagsResult</title>
  660. <para>
  661. <classname>Zend_Service_Technorati_TagsResult</classname> repräsentiert ein einzelnes Technorati TopTags
  662. oder BlogPostTags Abfrage Ergebnisobjekt. Es wird nie als alleinstehendes Objekt zurückgegeben,
  663. aber es gehört immer einem gültigen
  664. <link linkend="zend.service.technorati.classes.tagsresultset">Zend_Service_Technorati_TagsResultSet </link>
  665. Objekt an.
  666. </para>
  667. <note>
  668. <para>
  669. <classname>Zend_Service_Technorati_TagsResult</classname> erweitert
  670. <link linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>.
  671. </para>
  672. </note>
  673. </sect3>
  674. <sect3 id="zend.service.technorati.classes.getinforesult">
  675. <title>Zend_Service_Technorati_GetInfoResult</title>
  676. <para>
  677. <classname>Zend_Service_Technorati_GetInfoResult</classname> repräsentiert ein einzelnes Technorati GetInfo
  678. Abfrage Ergebnisobjekt.
  679. </para>
  680. </sect3>
  681. <sect3 id="zend.service.technorati.classes.bloginforesult">
  682. <title>Zend_Service_Technorati_BlogInfoResult</title>
  683. <para>
  684. <classname>Zend_Service_Technorati_BlogInfoResult</classname> repräsentiert ein einzelnes Technorati
  685. BlogInfo Abfrage Ergebnisobjekt.
  686. </para>
  687. </sect3>
  688. <sect3 id="zend.service.technorati.classes.keyinforesult">
  689. <title>Zend_Service_Technorati_KeyInfoResult</title>
  690. <para>
  691. <classname>Zend_Service_Technorati_KeyInfoResult</classname> repräsentiert ein einzelnes Technorati KeyInfo
  692. Abfrage Ergebnisobjekt. Es bietet Informationen über die eigene
  693. <link linkend="zend.service.technorati.checking-api-daily-usage">tägliche Verwendung des Technorati API Schlüssels</link>.
  694. </para>
  695. </sect3>
  696. </sect2>
  697. </sect1>