Zend_Service_Technorati.xml 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 17175 -->
  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 <code>SeekableIterator</code>. Der beste Weg um ein
  116. Ergebnisset Objekt zu verarbeiten ist dieses mit einem <acronym>PHP</acronym>
  117. <code>foreach</code> 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. <code>SeekableIterator</code> 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. <code>SeekableIterator</code> arbeitet als Array und zählt Positionen beginnend vom
  155. Index 0. Das Holen der Position 1 bedeutet das man das zweite Ergebnis der
  156. 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 <code>try</code>...<code>catch</code>
  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><para><link linkend="zend.service.technorati.queries.cosmos"><code>Cosmos</code></link></para></listitem>
  257. <listitem><para><link linkend="zend.service.technorati.queries.search"><code>Search</code></link></para></listitem>
  258. <listitem><para><link linkend="zend.service.technorati.queries.tag"><code>Tag</code></link></para></listitem>
  259. <listitem><para><link linkend="zend.service.technorati.queries.dailycounts"><code>DailyCounts</code></link></para></listitem>
  260. <listitem><para><link linkend="zend.service.technorati.queries.toptags"><code>TopTags</code></link></para></listitem>
  261. <listitem><para><link linkend="zend.service.technorati.queries.bloginfo"><code>BlogInfo</code></link></para></listitem>
  262. <listitem><para><link linkend="zend.service.technorati.queries.blogposttags"><code>BlogPostTags</code></link></para></listitem>
  263. <listitem><para><link linkend="zend.service.technorati.queries.getinfo"><code>GetInfo</code></link></para></listitem>
  264. </itemizedlist>
  265. </para>
  266. <sect3 id="zend.service.technorati.queries.cosmos">
  267. <title>Technorati Cosmos</title>
  268. <para>
  269. Eine <ulink url="http://technorati.com/developers/api/cosmos.html">Cosmos</ulink>
  270. Abfrage lässt einen Sehen welche Blog zu einer gegebenen <acronym>URL</acronym>
  271. verknüpft sind. Sie gibt ein <link
  272. linkend="zend.service.technorati.classes.cosmosresultset"><classname>Zend_Service_Technorati_CosmosResultSet</classname></link>
  273. Objekt zurück. Für vollständige Details kann nach
  274. <methodname>Zend_Service_Technorati::cosmos()</methodname> im <ulink
  275. url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink>
  276. nachgesehen werden.
  277. </para>
  278. <example id="zend.service.technorati.queries.cosmos.example-1">
  279. <title>Cosmos Abfrage</title>
  280. <programlisting language="php"><![CDATA[
  281. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  282. $resultSet = $technorati->cosmos('http://devzone.zend.com/');
  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.search">
  295. <title>Technorati Search</title>
  296. <para>
  297. Die <ulink url="http://technorati.com/developers/api/search.html">Search</ulink>
  298. Abfrage lässt einen Sehen welche Blogs einen gegebenen Suchstring enthalten. Sie
  299. gibt ein <link
  300. linkend="zend.service.technorati.classes.searchresultset"><classname>Zend_Service_Technorati_SearchResultSet</classname></link>
  301. Objekt zurück. Für vollständige Details kann nach
  302. <methodname>Zend_Service_Technorati::search()</methodname> im <ulink
  303. url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink>
  304. nachgesehen werden.
  305. </para>
  306. <example id="zend.service.technorati.queries.search.example-1">
  307. <title>Suchabfrage</title>
  308. <programlisting language="php"><![CDATA[
  309. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  310. $resultSet = $technorati->search('zend framework');
  311. echo "<p>Liest " . $resultSet->totalResults() .
  312. " von " . $resultSet->totalResultsAvailable() .
  313. " vorhandenen Ergebnissen</p>";
  314. echo "<ol>";
  315. foreach ($resultSet as $result) {
  316. echo "<li>" . $result->getWeblog()->getName() . "</li>";
  317. }
  318. echo "</ol>";
  319. ]]></programlisting>
  320. </example>
  321. </sect3>
  322. <sect3 id="zend.service.technorati.queries.tag">
  323. <title>Technorati Tag</title>
  324. <para>
  325. Die <ulink url="http://technorati.com/developers/api/tag.html">Tag</ulink> Abfrage
  326. lässt einen Sehen welche Antworten mit einem gegebenen Tag assoziiert sind. Sie gibt
  327. ein <link
  328. linkend="zend.service.technorati.classes.tagresultset"><classname>Zend_Service_Technorati_TagResultSet</classname></link>
  329. Objekt zurück. Für vollständige Details kann nach
  330. <methodname>Zend_Service_Technorati::tag()</methodname> im <ulink
  331. url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink>
  332. nachgesehen werden.
  333. </para>
  334. <example id="zend.service.technorati.queries.tag.example-1">
  335. <title>Tag Abfrage</title>
  336. <programlisting language="php"><![CDATA[
  337. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  338. $resultSet = $technorati->tag('php');
  339. echo "<p>Liest " . $resultSet->totalResults() .
  340. " von " . $resultSet->totalResultsAvailable() .
  341. " vorhandenen Ergebnissen</p>";
  342. echo "<ol>";
  343. foreach ($resultSet as $result) {
  344. echo "<li>" . $result->getWeblog()->getName() . "</li>";
  345. }
  346. echo "</ol>";
  347. ]]></programlisting>
  348. </example>
  349. </sect3>
  350. <sect3 id="zend.service.technorati.queries.dailycounts">
  351. <title>Technorati DailyCounts</title>
  352. <para>
  353. Die <ulink
  354. url="http://technorati.com/developers/api/dailycounts.html">DailyCounts</ulink>
  355. Abfrage bietet tägliche Anzahlen von Antworten die ein abgefragtes Schlüsselwort
  356. enthalten. Sie gibt ein <link
  357. linkend="zend.service.technorati.classes.dailycountsresultset"><classname>Zend_Service_Technorati_DailyCountsResultSet</classname></link>
  358. Objekt zurück. Für vollständige Details kann nach
  359. <methodname>Zend_Service_Technorati::dailyCounts()</methodname> im
  360. <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink>
  361. nachgesehen werden.
  362. </para>
  363. <example id="zend.service.technorati.queries.dailycounts.example-1">
  364. <title>DailyCounts Abfrage</title>
  365. <programlisting language="php"><![CDATA[
  366. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  367. $resultSet = $technorati->dailyCounts('php');
  368. foreach ($resultSet as $result) {
  369. echo "<li>" . $result->getDate() .
  370. "(" . $result->getCount() . ")</li>";
  371. }
  372. echo "</ol>";
  373. ]]></programlisting>
  374. </example>
  375. </sect3>
  376. <sect3 id="zend.service.technorati.queries.toptags">
  377. <title>Technorati TopTags</title>
  378. <para>
  379. Die <ulink url="http://technorati.com/developers/api/toptags.html">TopTags</ulink>
  380. Abfrage bietet Informationen über Top Tags die durch Technorati indiziert sind. Sie
  381. gibt ein <link
  382. linkend="zend.service.technorati.classes.tagsresultset"><classname>Zend_Service_Technorati_TagsResultSet</classname></link>
  383. Objekt zurück. Für vollständige Details kann nach
  384. <methodname>Zend_Service_Technorati::topTags()</methodname> im
  385. <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink>
  386. nachgesehen werden.
  387. </para>
  388. <example id="zend.service.technorati.queries.toptags.example-1">
  389. <title>TopTags Abfrage</title>
  390. <programlisting language="php"><![CDATA[
  391. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  392. $resultSet = $technorati->topTags();
  393. echo "<p>Liest " . $resultSet->totalResults() .
  394. " von " . $resultSet->totalResultsAvailable() .
  395. " vorhandenen Ergebnissen</p>";
  396. echo "<ol>";
  397. foreach ($resultSet as $result) {
  398. echo "<li>" . $result->getTag() . "</li>";
  399. }
  400. echo "</ol>";
  401. ]]></programlisting>
  402. </example>
  403. </sect3>
  404. <sect3 id="zend.service.technorati.queries.bloginfo">
  405. <title>Technorati BlogInfo</title>
  406. <para>
  407. Eine <ulink
  408. url="http://technorati.com/developers/api/bloginfo.html">BlogInfo</ulink>
  409. Abfrage bietet Informationen darüber welcher Blog, wenn überhaupt, mit einer
  410. gegebenen <acronym>URL</acronym> assoziiert ist. Sie gibt ein <link
  411. linkend="zend.service.technorati.classes.bloginforesult"><classname>Zend_Service_Technorati_BlogInfoResult</classname></link>
  412. Objekt zurück. Für vollständige Details kann nach
  413. <methodname>Zend_Service_Technorati::blogInfo()</methodname> im
  414. <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink>
  415. nachgesehen werden.
  416. </para>
  417. <example id="zend.service.technorati.queries.bloginfo.example-1">
  418. <title>BlogInfo Abfrage</title>
  419. <programlisting language="php"><![CDATA[
  420. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  421. $result = $technorati->blogInfo('http://devzone.zend.com/');
  422. echo '<h2><a href="' . (string) $result->getWeblog()->getUrl() . '">' .
  423. $result->getWeblog()->getName() . '</a></h2>';
  424. ]]></programlisting>
  425. </example>
  426. </sect3>
  427. <sect3 id="zend.service.technorati.queries.blogposttags">
  428. <title>Technorati BlogPostTags</title>
  429. <para>
  430. Eine <ulink
  431. url="http://technorati.com/developers/api/blogposttags.html">BlogPostTags</ulink>
  432. Abfrage bietet Informationen über Top Tags die von einem spezifischen Blog verwendet
  433. werden. Sie gibt ein <link
  434. linkend="zend.service.technorati.classes.tagsresultset"><classname>Zend_Service_Technorati_TagsResultSet</classname></link>
  435. Objekt zurück. Für vollständige Details kann nach
  436. <methodname>Zend_Service_Technorati::blogPostTags()</methodname> im
  437. <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink>
  438. nachgesehen werden.
  439. </para>
  440. <example id="zend.service.technorati.queries.blogposttags.example-1">
  441. <title>BlogPostTags Abfrage</title>
  442. <programlisting language="php"><![CDATA[
  443. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  444. $resultSet = $technorati->blogPostTags('http://devzone.zend.com/');
  445. echo "<p>Liest " . $resultSet->totalResults() .
  446. " von " . $resultSet->totalResultsAvailable() .
  447. " vorhandenen Ergebnissen</p>";
  448. echo "<ol>";
  449. foreach ($resultSet as $result) {
  450. echo "<li>" . $result->getTag() . "</li>";
  451. }
  452. echo "</ol>";
  453. ]]></programlisting>
  454. </example>
  455. </sect3>
  456. <sect3 id="zend.service.technorati.queries.getinfo">
  457. <title>Technorati GetInfo</title>
  458. <para>
  459. Eine <ulink url="http://technorati.com/developers/api/getinfo.html">GetInfo</ulink>
  460. Abfrage teilt mit was Technorati über ein Mitglied weiß. Sie gibt ein <link
  461. linkend="zend.service.technorati.classes.getinforesult"><classname>Zend_Service_Technorati_GetInfoResult</classname></link>
  462. Objekt zurück. Für vollständige Details kann nach
  463. <methodname>Zend_Service_Technorati::getInfo()</methodname> im
  464. <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink>
  465. nachgesehen werden.
  466. </para>
  467. <example id="zend.service.technorati.queries.getinfo.example-1">
  468. <title>GetInfo Abfrage</title>
  469. <programlisting language="php"><![CDATA[
  470. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  471. $result = $technorati->getInfo('weppos');
  472. $author = $result->getAuthor();
  473. echo "<h2>Blogs authorisiert von " . $author->getFirstName() . " " .
  474. $author->getLastName() . "</h2>";
  475. echo "<ol>";
  476. foreach ($result->getWeblogs() as $weblog) {
  477. echo "<li>" . $weblog->getName() . "</li>";
  478. }
  479. echo "</ol>";
  480. ]]></programlisting>
  481. </example>
  482. </sect3>
  483. <sect3 id="zend.service.technorati.queries.keyinfo">
  484. <title>Technorati KeyInfo</title>
  485. <para>
  486. Die KeyInfo Abfrage bietet Informationen über die tägliche Verwendung eines
  487. <acronym>API</acronym> Schlüssels. Sie gibt ein <link
  488. linkend="zend.service.technorati.classes.keyinforesult"><classname>Zend_Service_Technorati_KeyInfoResult</classname></link>
  489. Objekt zurück. Für vollständige Details kann nach
  490. <methodname>Zend_Service_Technorati::keyInfo()</methodname> im
  491. <ulink url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink>
  492. nachgesehen werden.
  493. </para>
  494. </sect3>
  495. </sect2>
  496. <sect2 id="zend.service.technorati.classes">
  497. <title>Zend_Service_Technorati Klassen</title>
  498. <para>
  499. Die folgenden Klassen werden von den verschiedenen Technorati Anfragen zurückgegeben.
  500. Jede <classname>Zend_Service_Technorati_*ResultSet</classname> Klasse enthält ein
  501. typ-spezifisches Ergebnisset welches einfach, mit jedem Ergebnis das in einem Typ
  502. Ergebnisobjekt enthalten ist, iteriert werden kann. Alle Ergebnisset Klassen erweitern
  503. die <classname>Zend_Service_Technorati_ResultSet</classname> Klasse und implementieren
  504. das <code>SeekableIterator</code> Interface, welches eine einfache Iteration und Suche
  505. nach einem spezifischen Ergebnis erlaubt.
  506. <itemizedlist>
  507. <listitem><para><link linkend="zend.service.technorati.classes.resultset"><classname>Zend_Service_Technorati_ResultSet</classname></link></para></listitem>
  508. <listitem><para><link linkend="zend.service.technorati.classes.cosmosresultset"><classname>Zend_Service_Technorati_CosmosResultSet</classname></link></para></listitem>
  509. <listitem><para><link linkend="zend.service.technorati.classes.searchresultset"><classname>Zend_Service_Technorati_SearchResultSet</classname></link></para></listitem>
  510. <listitem><para><link linkend="zend.service.technorati.classes.tagresultset"><classname>Zend_Service_Technorati_TagResultSet</classname></link></para></listitem>
  511. <listitem><para><link linkend="zend.service.technorati.classes.dailycountsresultset"><classname>Zend_Service_Technorati_DailyCountsResultSet</classname></link></para></listitem>
  512. <listitem><para><link linkend="zend.service.technorati.classes.tagsresultset"><classname>Zend_Service_Technorati_TagsResultSet</classname></link></para></listitem>
  513. <listitem><para><link linkend="zend.service.technorati.classes.result"><classname>Zend_Service_Technorati_Result</classname></link></para></listitem>
  514. <listitem><para><link linkend="zend.service.technorati.classes.cosmosresult"><classname>Zend_Service_Technorati_CosmosResult</classname></link></para></listitem>
  515. <listitem><para><link linkend="zend.service.technorati.classes.searchresult"><classname>Zend_Service_Technorati_SearchResult</classname></link></para></listitem>
  516. <listitem><para><link linkend="zend.service.technorati.classes.tagresult"><classname>Zend_Service_Technorati_TagResult</classname></link></para></listitem>
  517. <listitem><para><link linkend="zend.service.technorati.classes.dailycountsresult"><classname>Zend_Service_Technorati_DailyCountsResult</classname></link></para></listitem>
  518. <listitem><para><link linkend="zend.service.technorati.classes.tagsresult"><classname>Zend_Service_Technorati_TagsResult</classname></link></para></listitem>
  519. <listitem><para><link linkend="zend.service.technorati.classes.getinforesult"><classname>Zend_Service_Technorati_GetInfoResult</classname></link></para></listitem>
  520. <listitem><para><link linkend="zend.service.technorati.classes.bloginforesult"><classname>Zend_Service_Technorati_BlogInfoResult</classname></link></para></listitem>
  521. <listitem><para><link linkend="zend.service.technorati.classes.keyinforesult"><classname>Zend_Service_Technorati_KeyInfoResult</classname></link></para></listitem>
  522. </itemizedlist>
  523. </para>
  524. <note>
  525. <para>
  526. <classname>Zend_Service_Technorati_GetInfoResult</classname>,
  527. <classname>Zend_Service_Technorati_BlogInfoResult</classname> und
  528. <classname>Zend_Service_Technorati_KeyInfoResult</classname> repräsentieren
  529. Ausnahmen zu den obigen weil Sie nicht zu einem ergebnisset gehören und sie kein
  530. Interface implementieren. Sie repräsentieren ein einzelnes Antwortobjekt und sie
  531. funktionieren als Wrapper für zusätzliche
  532. <classname>Zend_Service_Technorati</classname> Objekte, wie
  533. <classname>Zend_Service_Technorati_Author</classname> und
  534. <classname>Zend_Service_Technorati_Weblog</classname>.
  535. </para>
  536. </note>
  537. <para>
  538. Die <classname>Zend_Service_Technorati</classname> Bibliothek beinhaltet zusätzliche
  539. bequeme Klassen die spezifische Antwortobjekte repräsentieren.
  540. <classname>Zend_Service_Technorati_Author</classname> repräsentiert einen einzelnen
  541. Technorati Account, welcher auch als Blog Author oder Blogger bekannt ist.
  542. <classname>Zend_Service_Technorati_Weblog</classname> repräsentiert ein einzelnes Weblog
  543. Objekt, zusätzlich mit allen spezifischen Weblog Eigenschaften die Feed
  544. <acronym>URL</acronym>s oder Blog Namen. Für komplette Details kann nach
  545. <classname>Zend_Service_Technorati</classname> im <ulink
  546. url="http://framework.zend.com/apidoc/core/">API Referenz Guide</ulink> nachgesehen
  547. werden.
  548. </para>
  549. <sect3 id="zend.service.technorati.classes.resultset">
  550. <title>Zend_Service_Technorati_ResultSet</title>
  551. <para>
  552. <classname>Zend_Service_Technorati_ResultSet</classname> ist das am meisten
  553. essentielle Ergebnisset. Der Zweck dieser Klasse ist es von einer
  554. abfrage-spezifischen Kind-Ergebnisset-Klasse erweitert zu werden, und sie sollte
  555. niemals verwendet werden um ein alleinstehendes Objekt zu initialisieren. Jedes der
  556. spezifischen Ergebnissets repräsentiert eine Kollektion von abfrage-spezifischen
  557. <link linkend="zend.service.technorati.classes.result"><classname>Zend_Service_Technorati_Result</classname></link>
  558. Objekte.
  559. </para>
  560. <para>
  561. <classname>Zend_Service_Technorati_ResultSet</classname> Implementiert das
  562. <acronym>PHP</acronym> <code>SeekableIterator</code> Interface, und man kann durch
  563. alle Ergebnisobjekte mit dem <acronym>PHP</acronym> Statement <code>foreach</code>
  564. iterieren.
  565. </para>
  566. <example id="zend.service.technorati.classes.resultset.example-1">
  567. <title>Über Ergebnisobjekte von einer Ergebnisset Kollektion iterieren</title>
  568. <programlisting language="php"><![CDATA[
  569. // eine einfache Abfrage durchlaufen
  570. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  571. $resultSet = $technorati->search('php');
  572. // $resultSet ist jetzt eine Instanz von
  573. // Zend_Service_Technorati_SearchResultSet
  574. // sie erweitert Zend_Service_Technorati_ResultSet
  575. foreach ($resultSet as $result) {
  576. // irgendwas mit dem Zend_Service_Technorati_SearchResult Objekt anfangen
  577. }
  578. ]]></programlisting>
  579. </example>
  580. </sect3>
  581. <sect3 id="zend.service.technorati.classes.cosmosresultset">
  582. <title>Zend_Service_Technorati_CosmosResultSet</title>
  583. <para>
  584. <classname>Zend_Service_Technorati_CosmosResultSet</classname> repräsentiert ein
  585. Technorati Cosmos Abfrage Ergebnisset.
  586. </para>
  587. <note>
  588. <para>
  589. <classname>Zend_Service_Technorati_CosmosResultSet</classname> erweitert <link
  590. linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>.
  591. </para>
  592. </note>
  593. </sect3>
  594. <sect3 id="zend.service.technorati.classes.searchresultset">
  595. <title>Zend_Service_Technorati_SearchResultSet</title>
  596. <para>
  597. <classname>Zend_Service_Technorati_SearchResultSet</classname> repräsentiert ein
  598. Technorati Search Abfrage Ergebnisset.
  599. </para>
  600. <note>
  601. <para>
  602. <classname>Zend_Service_Technorati_SearchResultSet</classname> erweitert <link
  603. linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>.
  604. </para>
  605. </note>
  606. </sect3>
  607. <sect3 id="zend.service.technorati.classes.tagresultset">
  608. <title>Zend_Service_Technorati_TagResultSet</title>
  609. <para>
  610. <classname>Zend_Service_Technorati_TagResultSet</classname> repräsentiert ein
  611. Technorati Tag Abfrage Ergebnisset.
  612. </para>
  613. <note>
  614. <para>
  615. <classname>Zend_Service_Technorati_TagResultSet</classname> erweitert <link
  616. linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>.
  617. </para>
  618. </note>
  619. </sect3>
  620. <sect3 id="zend.service.technorati.classes.dailycountsresultset">
  621. <title>Zend_Service_Technorati_DailyCountsResultSet</title>
  622. <para>
  623. <classname>Zend_Service_Technorati_DailyCountsResultSet</classname> repräsentiert
  624. ein Technorati DailyCounts Abfrage Ergebnisset.
  625. </para>
  626. <note>
  627. <para>
  628. <classname>Zend_Service_Technorati_DailyCountsResultSet</classname> erweitert
  629. <link linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>.
  630. </para>
  631. </note>
  632. </sect3>
  633. <sect3 id="zend.service.technorati.classes.tagsresultset">
  634. <title>Zend_Service_Technorati_TagsResultSet</title>
  635. <para>
  636. <classname>Zend_Service_Technorati_TagsResultSet</classname> repräsentiert ein
  637. Technorati TopTags oder BlogPostTags Abfrage Ergebnisset.
  638. </para>
  639. <note>
  640. <para>
  641. <classname>Zend_Service_Technorati_TagsResultSet</classname> erweitert <link
  642. linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>.
  643. </para>
  644. </note>
  645. </sect3>
  646. <sect3 id="zend.service.technorati.classes.result">
  647. <title>Zend_Service_Technorati_Result</title>
  648. <para>
  649. <classname>Zend_Service_Technorati_Result</classname> ist das wichtigste
  650. Ergebnisobjekt. Der Zweck dieser Klasse ist es, durch eine abfrage-spezifische
  651. Kind-Ergebnisklasse erweitert zu werden, und Sie sollte nie verwendet werden um ein
  652. alleinstehendes Objekt zu initiieren.
  653. </para>
  654. </sect3>
  655. <sect3 id="zend.service.technorati.classes.cosmosresult">
  656. <title>Zend_Service_Technorati_CosmosResult</title>
  657. <para>
  658. <classname>Zend_Service_Technorati_CosmosResult</classname> repräsentiert ein
  659. einzelnes Technorati Cosmos Abfrageobjekt. Es wird nie als alleinstehendes Objekt
  660. zurückgegeben, aber es gehört immer einem gültigen <link
  661. linkend="zend.service.technorati.classes.cosmosresultset">Zend_Service_Technorati_CosmosResultSet</link>
  662. Objekt an.
  663. </para>
  664. <note>
  665. <para>
  666. <classname>Zend_Service_Technorati_CosmosResult</classname> erweitert <link
  667. linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>.
  668. </para>
  669. </note>
  670. </sect3>
  671. <sect3 id="zend.service.technorati.classes.searchresult">
  672. <title>Zend_Service_Technorati_SearchResult</title>
  673. <para>
  674. <classname>Zend_Service_Technorati_SearchResult</classname> repräsentiert ein
  675. einzelnes Technorati Search Abfrage Ergebnisobjekt. Es wird nie als alleinstehendes
  676. Objekt zurückgegeben, aber es gehört immer einem gültigen <link
  677. linkend="zend.service.technorati.classes.searchresultset">Zend_Service_Technorati_SearchResultSet</link>
  678. Objekt an.
  679. </para>
  680. <note>
  681. <para>
  682. <classname>Zend_Service_Technorati_SearchResult</classname> erweitert <link
  683. linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>.
  684. </para>
  685. </note>
  686. </sect3>
  687. <sect3 id="zend.service.technorati.classes.tagresult">
  688. <title>Zend_Service_Technorati_TagResult</title>
  689. <para>
  690. <classname>Zend_Service_Technorati_TagResult</classname> repräsentiert ein einzelnes
  691. Technorati Tag Abfrage Ergebnisobjekt. Es wird nie als alleinstehendes Objekt
  692. zurückgegeben, aber es gehört immer einem gültigen <link
  693. linkend="zend.service.technorati.classes.tagresultset">Zend_Service_Technorati_TagResultSet</link>
  694. Objekt an.
  695. </para>
  696. <note>
  697. <para>
  698. <classname>Zend_Service_Technorati_TagResult</classname> erweitert <link
  699. linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>.
  700. </para>
  701. </note>
  702. </sect3>
  703. <sect3 id="zend.service.technorati.classes.dailycountsresult">
  704. <title>Zend_Service_Technorati_DailyCountsResult</title>
  705. <para>
  706. <classname>Zend_Service_Technorati_DailyCountsResult</classname> repräsentiert ein
  707. einzelnes Technorati DailyCounts Abfrage Ergebnisobjekt. Es wird nie als
  708. alleinstehendes Objekt zurückgegeben, aber es gehört immer einem gültigen <link
  709. linkend="zend.service.technorati.classes.dailycountsresultset">Zend_Service_Technorati_DailyCountsResultSet</link>
  710. Objekt an.
  711. </para>
  712. <note>
  713. <para>
  714. <classname>Zend_Service_Technorati_DailyCountsResult</classname> erweitert <link
  715. linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>.
  716. </para>
  717. </note>
  718. </sect3>
  719. <sect3 id="zend.service.technorati.classes.tagsresult">
  720. <title>Zend_Service_Technorati_TagsResult</title>
  721. <para>
  722. <classname>Zend_Service_Technorati_TagsResult</classname> repräsentiert ein
  723. einzelnes Technorati TopTags oder BlogPostTags Abfrage Ergebnisobjekt. Es wird nie
  724. als alleinstehendes Objekt zurückgegeben, aber es gehört immer einem gültigen <link
  725. linkend="zend.service.technorati.classes.tagsresultset">Zend_Service_Technorati_TagsResultSet</link>
  726. Objekt an.
  727. </para>
  728. <note>
  729. <para>
  730. <classname>Zend_Service_Technorati_TagsResult</classname> erweitert <link
  731. linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>.
  732. </para>
  733. </note>
  734. </sect3>
  735. <sect3 id="zend.service.technorati.classes.getinforesult">
  736. <title>Zend_Service_Technorati_GetInfoResult</title>
  737. <para>
  738. <classname>Zend_Service_Technorati_GetInfoResult</classname> repräsentiert ein
  739. einzelnes Technorati GetInfo Abfrage Ergebnisobjekt.
  740. </para>
  741. </sect3>
  742. <sect3 id="zend.service.technorati.classes.bloginforesult">
  743. <title>Zend_Service_Technorati_BlogInfoResult</title>
  744. <para>
  745. <classname>Zend_Service_Technorati_BlogInfoResult</classname> repräsentiert ein
  746. einzelnes Technorati BlogInfo Abfrage Ergebnisobjekt.
  747. </para>
  748. </sect3>
  749. <sect3 id="zend.service.technorati.classes.keyinforesult">
  750. <title>Zend_Service_Technorati_KeyInfoResult</title>
  751. <para>
  752. <classname>Zend_Service_Technorati_KeyInfoResult</classname> repräsentiert ein
  753. einzelnes Technorati KeyInfo Abfrage Ergebnisobjekt. Es bietet Informationen über
  754. die eigene <link linkend="zend.service.technorati.checking-api-daily-usage">tägliche
  755. Verwendung des Technorati <acronym>API</acronym> Schlüssels</link>.
  756. </para>
  757. </sect3>
  758. </sect2>
  759. </sect1>