<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- 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 <acronym>REST</acronym> 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[
$twitterSearch = new Zend_Service_Twitter_Search();
$twitterTrends = $twitterSearch->trends();

foreach($twitterTrends 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 <acronym>URL</acronym> 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.
                    <code>lang</code> muß durch einen <ulink
                        url="http://en.wikipedia.org/wiki/ISO_639-1">ISO 639-1 Code</ulink>
                    angegeben werden.
                </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> spezifiziert 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> spezifiziert ob "&gt;user&lt;:" am Anfang des Tweets
                    hinzugefügt wird. Das ist nützlich für Leser die das Authorfeld in Atom nicht
                    anzeigen. Der Standardwert ist "<constant>FALSE</constant>".
                </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 Suchergebnissen zurück.
            </para>

            <programlisting language="php"><![CDATA[
$twitterSearch = new Zend_Service_Twitter_Search('json');
$searchResults = $twitterSearch->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[
$twitterSearch = new Zend_Service_Twitter_Search('atom');
$searchResults = $twitterSearch->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 Methoden die für das
            Empfangen und 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>
