Zend_Service_Technorati.xml 41 KB

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