Zend_Service_Technorati.xml 45 KB

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