Zend_Service_Technorati.xml 42 KB

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