<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 15157 -->
<!-- Reviewed: no -->
<sect2 id="zend.service.twitter.search">
    <title>Zend_Service_Twitter_Search</title>

    <sect3 id="zend.service.twitter.search.introduction">
        <title>Einführung</title>

        <para>
            <classname>Zend_Service_Twitter_Search</classname> bietet einen Client für die <ulink
                url="http://apiwiki.twitter.com/Search+API+Documentation">Such API von Twitter</ulink>.
            Das Twitter Suchservice wird verwendet um in Twitter zu suchen. Aktuell gibt es Daten nur im
            Atom oder JSON Format zurück, aber ein komplettes REST Service kommt in Zukunft welche auch
            XML Antworten unterstützen wird.
        </para>
    </sect3>

    <sect3 id="zend.service.twitter.search.trends">
        <title>Twitter Trends</title>

        <para>
            Gibt die Top Zehn Abfragen zurück die aktuell bei Twitter Trend sind. Die Antwort enthält die
            Zeit der Abfragen, den Namen jedes einzelnen Trendtopics, und auch die Url zur Twitter
            Suchseite für dieses Topic. Aktuell unterstützt die Such-API für Trends nur eine Rückgabe von
            JSON weswegen die Funktion ein Array zurückgibt.
        </para>

        <programlisting role="php"><![CDATA[
$twitter_search = new Zend_Service_Twitter_Search();
$twitter_trends = $twitter_search->trends();

foreach($twitter_trends as $trend) {
    print $trend['name'] . ' - ' . $trend['url'] . PHP_EOL
}
]]></programlisting>

        <para>
            Das zurückgegebene Array enthält zwei Werte:
        </para>
        <itemizedlist>
            <listitem>
                <para>
                    <code>name</code>, ist der Name des Trends.
                </para>
            </listitem>

            <listitem>
                <para>
                    <code>url</code>, ist die Url um die Tweets für diesen Trend zu sehen.
                </para>
            </listitem>
        </itemizedlist>
    </sect3>

    <sect3 id="zend.service.twitter.search.search">
        <title>Suchen in Twitter</title>

        <para>
            Die Verwendung der Suchmethode gibt Tweets zurück die einer speziellen Abfrage entsprechen.
            Es gibt eine Anzahl von <ulink url="http://search.twitter.com/operators">Suchoperatoren</ulink>
            die für die Abfrage verwendet werden können.
        </para>

        <para>
            Die Suchmethode akzeptiert sechs verschiedene optionale URL Parameter die als Array übergeben
            werden:
        </para>

        <itemizedlist>
            <listitem>
                <para>
                    <code>lang</code>, begrenzt die Tweets auf eine angegebene Sprache, wobei lang durch einen
                    <ulink url="http://en.wikipedia.org/wiki/ISO_639-1">ISO 639-1 Code</ulink> angegeben werden
                    muß
                </para>
            </listitem>

            <listitem>
                <para>
                    <code>rpp</code>, die Anzahl der Tweets die pro Seite zurückzugeben sind, bis zu einem
                    Maximum von 100
                </para>
            </listitem>

            <listitem>
                <para>
                    <code>page</code>, die Seitennummer die zurückzugeben ist, bis zu einem Maximum von
                    etwa 1500 Ergebnissen (basierend auf RPP * Seite)
                </para>
            </listitem>

            <listitem>
                <para>
                    <code>since_id</code>, gibt Tweets mit den Status IDs zurück die größer als die angegebene
                    ID sind
                </para>
            </listitem>

            <listitem>
                <para>
                    <code>show_user</code>, ist es "true", fügt es "&gt;user&lt;:" am Anfang des Tweets hinzu.
                    Das ist nützlich für Leser die das Authorfeld in Atom nicht anzeigen. Der Standardwert ist
                    "false"
                </para>
            </listitem>

            <listitem>
                <para>
                    <code>geocode</code>, gibt Tweets zurück bei denen Benutzer in einerm angegebenen Radium
                    zum angegebenen Längen- und Breitengrad sind, wobei der Ort des Benutzers von seinem
                    Twitter Profil genommen wird. Der Wert des Parameters wird durch
                    "latitude,longitude,radius" spezifiziert, wobei die Einheiten des Radius entweder in
                    "mi" (Meilen) oder "km" (Kilometer) spezifiziert werden müssen.
                </para>
            </listitem>
        </itemizedlist>
        <example id="zend.service.twitter.search.search.json">
            <title>Suchbeispiel für JSON</title>
            <para>
                Das folgende Codebeispiel gibt ein Array mit den Werten der Suchergebnisse zurück
            </para>

            <programlisting role="php"><![CDATA[
$twitter_search = new Zend_Service_Twitter_Search('json');
$search_results = $twitter_search->search('zend', array('lang' => 'en'));
]]></programlisting>
        </example>

        <example id="zend.service.twitter.search.search.atom">
            <title>Suchbeispiel für ATOM</title>
            <para>
                Das folgende Codebeispiel gibt ein <classname>Zend_Feed_Atom</classname> Objekt zurück.
            </para>

            <programlisting role="php"><![CDATA[
$twitter_search = new Zend_Service_Twitter_Search('atom');
$search_results = $twitter_search->search('zend', array('lang' => 'en'));
]]></programlisting>
        </example>
    </sect3>

    <sect3 id="zend.service.twitter.search.accessors">
        <title>Zend-Spezifische Zugriffsmethoden</title>

        <para>
            Wärend die Such API von Twitter nur zwei Methoden spezifiziert, hat
            <classname>Zend_Service_Twitter_Search</classname> zusätzliche Zugriffsmethoden die für die Modifizierung
            von internen Eigenschaften verwendet werden können.
        </para>

        <itemizedlist>
            <listitem>
                <para>
                    <code>getResponseType()</code> und <code>setResponseType()</code> erlauben es den
                    Antworttype der Suche zu empfangen und, zwischen JSON und ATOM, zu verändern.
                </para>
            </listitem>
        </itemizedlist>
    </sect3>
</sect2>
<!--
vim:se ts=4 sw=4 et:
-->
