<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 17227 -->
<!-- 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
                <acronym>API</acronym> von Twitter</ulink>. Das Twitter Suchservice wird verwendet
            um in Twitter zu suchen. Aktuell gibt es Daten nur im Atom oder <acronym>JSON</acronym>
            Format zurück, aber ein komplettes REST Service kommt in Zukunft welche auch
            <acronym>XML</acronym> 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
            <acronym>API</acronym> für Trends nur eine Rückgabe von <acronym>JSON</acronym>
            weswegen die Funktion ein Array zurückgibt.
        </para>

        <programlisting language="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 <acronym>URL</acronym> 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 Radius 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 language="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 language="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 <acronym>API</acronym> 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>
                    <methodname>getResponseType()</methodname> und
                    <methodname>setResponseType()</methodname> erlauben es den Antworttype der Suche
                    zu empfangen und, zwischen <acronym>JSON</acronym> und ATOM, zu verändern.
                </para>
            </listitem>
        </itemizedlist>
    </sect3>
</sect2>
<!--
vim:se ts=4 sw=4 et:
-->
