فهرست منبع

[MANUAL] German:

- sync up to r22639

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@22687 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas 15 سال پیش
والد
کامیت
72b5e58086

+ 13 - 1
documentation/manual/de/module_specs/Zend_Application-AvailableResources-Db.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 20763 -->
+<!-- EN-Revision: 22631 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.available-resources.db">
     <title>Zend_Application_Resource_Db</title>
@@ -40,6 +40,14 @@
                 als Standard-Tabellen Adapter verwendet werden soll oder nicht.
             </para>
         </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>defaultMetadataCache</property></emphasis>: Der Name des
+                Cache Templates oder einer Instanz von Zend_Cache_Core welche als Metadaten-Cache
+                für Zend_Db_Table zu verwenden ist.
+            </para>
+        </listitem>
     </itemizedlist>
 
     <example id="zend.application.available-resources.db.configExample">
@@ -58,6 +66,10 @@ resources.db.params.username = "webuser"
 resources.db.params.password = "XXXXXXX"
 resources.db.params.dbname = "test"
 resources.db.isDefaultTableAdapter = true
+
+; Optional kann auch ein Cache Template zur Verwendung für Metadaten Caching
+; angegeben werden:
+resources.db.defaultMetadataCache = "database"
 ]]></programlisting>
     </example>
 

+ 1 - 1
documentation/manual/de/module_specs/Zend_Feed_Reader.xml

@@ -73,7 +73,7 @@
             String, einer Datei, <acronym>URI</acronym> oder einer Instanz des Typs
             <classname>Zend_Feed_Abstract</classname> importiert werden. Das importieren von einer
             <acronym>URI</acronym> kann zusätzlich eine konditionelle <acronym>HTTP</acronym>
-            <acroym>GET</acronym> Anfrage benützen. Wenn das importieren fehlschlägt, wird eine
+            <acronym>GET</acronym> Anfrage benützen. Wenn das importieren fehlschlägt, wird eine
             Exception geworfen. Das Endergebnis wird ein Objekt des Typs
             <classname>Zend_Feed_Reader_FeedInterface</classname> sein, die Core Implementation
             von <classname>Zend_Feed_Reader_Feed_Rss</classname> und

+ 189 - 48
documentation/manual/de/module_specs/Zend_Service_Twitter.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 21829 -->
+<!-- EN-Revision: 22628 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.service.twitter" xmlns:xi="http://www.w3.org/2001/XInclude">
     <title>Zend_Service_Twitter</title>
@@ -12,9 +12,10 @@
                 url="http://apiwiki.twitter.com/Twitter-API-Documentation"><acronym>REST</acronym>
                 <acronym>API</acronym> von Twitter</ulink>.
             <classname>Zend_Service_Twitter</classname> erlaubt es eine öffentliche Zeitachse
-            abzufragen. Wenn man einen Benutzernamen und ein Passwort für Twitter angibt, ist es
-            auch erlaubt den eigenen Status zu erhalten und zu aktualisieren, Freunden zu antworten,
-            Nachrichten an Freunde schicken, Tweets als Favoriten markieren und vieles mehr.
+            abzufragen. Wenn man einen Benutzernamen und ein OAuth Details für Twitter angibt, ist
+            es auch erlaubt den eigenen Status zu erhalten und zu aktualisieren, Freunden zu
+            antworten, Nachrichten an Freunde schicken, Tweets als Favoriten markieren und vieles
+            mehr.
         </para>
 
         <para>
@@ -88,38 +89,97 @@
 
         <para>
             Mit der Ausnahme des Holens der öffentlichen Zeitlinie benötigt
-            <classname>Zend_Service_Twitter</classname> eine Authentifizierung um zu funktionieren.
-            Twitter verwendet aktuell eine <ulink
-                url="http://en.wikipedia.org/wiki/Basic_authentication_scheme">HTTP Basis
-                Authentifizierung</ulink>. Man kann den eigenen Benutzernamen oder eine registrierte
-            Email mit dem Passwort, für das Login bei Twitter, übergeben.
+            <classname>Zend_Service_Twitter</classname> eine Authentifizierung als gültiger
+            Benutzer. Das wird erreicht indem das OAuth Authentifizierungs Protokoll verwendet wird.
+            OAuth ist der einzige unterstützte Authentifizierungsmodus für Twitter ab August 2010.
+            Die OAuth Implementierung welche von <classname>Zend_Service_Twitter</classname>
+            verwendet wird ist <classname>Zend_OAuth</classname>.
         </para>
 
         <example id="zend.service.twitter.authentication.example">
             <title>Erstellung der Twitter Klasse</title>
 
             <para>
-                Das folgende Codebeispiel zeigt wie man den Twitter Service erstellt, den
-                Benutzernamen und das Passwort übergibt, und überprüft ob Sie korrekt sind.
+                <classname>Zend_Service_Twitter</classname> muss sich selbst authorisieren, durch
+                den Benutzer, bevor es mit der Twitter API verwendet werden kann (außer für die
+                öffentlichen Bereiche). Das muss durch Verwendung von OAuth durchgeführt werden da
+                Twitter seine grundsätzliche HTTP Authentifizierung mit August 2010 deaktiviert hat.
             </para>
 
-            <programlisting language="php"><![CDATA[
-$twitter = new Zend_Service_Twitter('myusername', 'mysecretpassword');
-// Prüft die Angaben mit Twitter
-$response = $twitter->account->verifyCredentials();
-]]></programlisting>
+            <para>
+                Es gibt zwei Optionen um Authorisierung zu ermöglichen. Der erste ist die
+                Implementierung des Workflows von <classname>Zend_Oauth</classname> über
+                <classname>Zend_Service_Twitter</classname> welche zu einem internen
+                <classname>Zend_Oauth_Consumer</classname> Objekt weiterleitet. Bitte sehen Sie in
+                die Dokumentation von <classname>Zend_Oauth</classname> für ein vollständiges
+                Beispiel dieses Workflows - man kann alle dokumentierten Methoden von
+                <classname>Zend_Oauth_Consumer</classname> auf
+                <classname>Zend_Service_Twitter</classname> aufrufen inklusive der Optionen des
+                Constructors. Man kann <classname>Zend_Oauth</classname> auch direkt verwenden und
+                nur den sich ergebenden Zugriffstoken an <classname>Zend_Service_Twitter</classname>
+                übergeben. Das ist der normale Workflow sobald man einen wiederverwendbaren
+                Zugriffstoken für einen bestimmten Twitter Benutzer bereitgestellt bekommt. Der sich
+                ergebende Token für den Zugriff mit OAuth sollte für die zukünftige Verwendung in
+                einer Datenbank gespeichert werden (andernfalls muss man sich für jede neue Instanz
+                von <classname>Zend_Service_Twitter</classname> authorisieren). Man sollte im Kopf
+                behalten dass die Authorisierung über OAuth dazu führt dass der Benutzer zu Twitter
+                umgeleitet wird um seine Bestätigung zur beantragten Authorisierung zu geben (das
+                wird für gespeicherte Zugriffstokens nicht wiederholt). Das benötigt zusätzliche
+                Arbeit (z.B. Umleiten von Benutzern und Bereitstellen einer Callback URL) über den
+                vorherigen HTTP Authentofizierungs Mechanismus bei dem ein Benutzer Anwendungen nur
+                erlaubt seinen Benutzernamen und sein Passwort zu speichern.
+            </para>
+
+            <note>
+                <para>
+                    Um sich bei Twitter zu authentifizieren, MÜSSEN ALLE Anwendungen bei Twitter
+                    registriert werden um einen Kunden Schlüssel und ein Kunden Geheimnis zu
+                    erhalten welches benutzt wird wenn mit OAuth authentifiziert wird. Diese können
+                    nicht zwischen mehreren Anwendungen wiederverwendet werden - man muss jede neue
+                    Anwendung separat registrieren. Zugriffstoken von Twitter haben kein
+                    Ablaufdatum, deshalb ist deren Speicherung in einer Datenbank zu empfehlen (sie
+                    können natürlich aktualisiert werden indem der OAuth Prozess der Authorisierung
+                    wiederholt wird). Das kann nur getan werden indem mit dem betreffenden Benutzer,
+                    welchem der Zugriffstoken gehört, interagiert wird.
+                </para>
+            </note>
 
             <para>
-                Man kann auch ein Array das den Benutzernamen und das Passwort enthält, als ersten
-                Parameter übergeben.
+                Das folgende Beispiel demonstriert das Setup von
+                <classname>Zend_Service_Twitter</classname> welchem ein bereits bereitgestellter
+                OAuth Zugriffstoken angegeben wird. Der Zugriffstoken ist ein Serialisiertes Objekt,
+                damit man dass serialisierte Objekt in einer Datenbank speichern kann, und es zum
+                Zeitpunkt des Empfangs deserialisiert bevor die Objekte an
+                <classname>Zend_Service_Twitter</classname> übergeben werden. Die Dokumentation von
+                <classname>Zend_Oauth</classname> demonstriert den Workflow wenn Objekte involviert
+                sind.
             </para>
 
             <programlisting language="php"><![CDATA[
-                        $userInfo = array('username' => 'foo', 'password' => 'bar');
-$twitter = new Zend_Service_Twitter($userInfo);
-// Überprüft die Zugangsdaten bei Twitter
+/**
+ * Wir nehmen an dass $serializedToken der serialisierte Token ist welchen wir
+ * von einer Datenbank oder sogar von $_SESSION bekommen haben
+ * (wenn dem einfachen dokumentierten Beispiel von Zend_Oauth gefolgt wird)
+ */
+$token = unserialize($serializedToken);
+
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
+
+// Die Daten des Benutzers mit Twitter prüfen
 $response = $twitter->account->verifyCredentials();
 ]]></programlisting>
+
+            <note>
+                <para>
+                    Die vorher gezeigte pre-OAuth Version von
+                    <classname>Zend_Service_Twitter</classname> erlaubte die Übergabe eines
+                    Benutzernamens als ersten Parameter statt in einem Array. Dies wird nicht länger
+                    unterstützt.
+                </para>
+            </note>
         </example>
     </sect2>
 
@@ -137,7 +197,10 @@ $response = $twitter->account->verifyCredentials();
                     <title>Die Angaben prüfen</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->account->verifyCredentials();
 ]]></programlisting>
                 </example>
@@ -153,7 +216,10 @@ $response = $twitter->account->verifyCredentials();
                     <title>Beenden von Sessions</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->account->endSession();
 ]]></programlisting>
                 </example>
@@ -171,7 +237,10 @@ $response = $twitter->account->endSession();
                     <title>Status des Rating Limits</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->account->rateLimitStatus();
 ]]></programlisting>
                 </example>
@@ -194,7 +263,10 @@ $response = $twitter->account->rateLimitStatus();
                     <title>Empfangen der öffentlichen Zeitlinie</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->status->publicTimeline();
 ]]></programlisting>
                 </example>
@@ -210,7 +282,10 @@ $response = $twitter->status->publicTimeline();
                     <title>Empfangen der Zeitlinie von Freunden</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->status->friendsTimeline();
 ]]></programlisting>
                 </example>
@@ -247,7 +322,10 @@ $response = $twitter->status->friendsTimeline();
                     <title>Empfangen der Zeitlinie von Benutzern</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->status->userTimeline();
 ]]></programlisting>
                 </example>
@@ -299,7 +377,10 @@ $response = $twitter->status->userTimeline();
                     <title>Den Status eines Benutzers sehen</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->status->show(1234);
 ]]></programlisting>
                 </example>
@@ -316,7 +397,10 @@ $response = $twitter->status->show(1234);
                     <title>Aktualisieren des Benutzerstatus</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->status->update('Mein größter Tweet');
 ]]></programlisting>
                 </example>
@@ -347,7 +431,10 @@ $response = $twitter->status->update('Mein größter Tweet');
                     <title>Zeigt Benutzerantworten</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->status->replies();
 ]]></programlisting>
                 </example>
@@ -391,7 +478,10 @@ $response = $twitter->status->replies();
                     <title>Löschen eines Benutzerstatus</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->status->destroy(12345);
 ]]></programlisting>
                 </example>
@@ -414,7 +504,10 @@ $response = $twitter->status->destroy(12345);
                     <title>Empfangen von Benutzerfreunden</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->user->friends();
 ]]></programlisting>
                 </example>
@@ -458,7 +551,10 @@ $response = $twitter->user->friends();
                     <title>Empfangen der Verfolger eines Benutzers</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->user->followers();
 ]]></programlisting>
                 </example>
@@ -495,7 +591,10 @@ $response = $twitter->user->followers();
                     <title>Zeigt Benutzerinformationen</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->user->show('myfriend');
 ]]></programlisting>
                 </example>
@@ -517,7 +616,10 @@ $response = $twitter->user->show('myfriend');
                     <title>Empfangen der letzten empfangenen direkten Nachrichten</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->directMessage->messages();
 ]]></programlisting>
                 </example>
@@ -561,7 +663,10 @@ $response = $twitter->directMessage->messages();
                     <title>Empfangen der letzten gesendeten direkten Nachrichten</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->directMessage->sent();
 ]]></programlisting>
                 </example>
@@ -606,7 +711,10 @@ $response = $twitter->directMessage->sent();
                     <title>Senden einer direkten Nachricht</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->directMessage->new('myfriend', 'mymessage');
 ]]></programlisting>
                 </example>
@@ -623,7 +731,10 @@ $response = $twitter->directMessage->new('myfriend', 'mymessage');
                     <title>Löschen einer direkten Nachricht</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->directMessage->destroy(123548);
 ]]></programlisting>
                 </example>
@@ -645,7 +756,10 @@ $response = $twitter->directMessage->destroy(123548);
                     <title>Erstellung eines Freundes</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->friendship->create('mynewfriend');
 ]]></programlisting>
                 </example>
@@ -662,7 +776,10 @@ $response = $twitter->friendship->create('mynewfriend');
                     <title>Löschen eines Freundes</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->friendship->destroy('myoldfriend');
 ]]></programlisting>
                 </example>
@@ -679,7 +796,10 @@ $response = $twitter->friendship->destroy('myoldfriend');
                     <title>Prüfen ob eine Freundschaft existiert</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->friendship->exists('myfriend');
 ]]></programlisting>
                 </example>
@@ -702,7 +822,10 @@ $response = $twitter->friendship->exists('myfriend');
                     <title>Favoriten empfangen</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->favorite->favorites();
 ]]></programlisting>
                 </example>
@@ -739,7 +862,10 @@ $response = $twitter->favorite->favorites();
                     <title>Favoriten erstellen</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->favorite->create(12351);
 ]]></programlisting>
                 </example>
@@ -756,7 +882,10 @@ $response = $twitter->favorite->create(12351);
                     <title>Entfernt Favoriten</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->favorite->destroy(12351);
 ]]></programlisting>
                 </example>
@@ -779,7 +908,10 @@ $response = $twitter->favorite->destroy(12351);
                     <title>Prüfen ob ein Block existiert</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 
 // gibt true oder false zurück
 $response = $twitter->block->exists('blockeduser');
@@ -817,7 +949,10 @@ $response2 = $twitter->block->exists('blockeduser', true);
                     <title>Einen Benutzer blockieren</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->block->create('usertoblock);
 ]]></programlisting>
                 </example>
@@ -835,7 +970,10 @@ $response = $twitter->block->create('usertoblock);
                     <title>Entfernung einer Blockierung</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 $response = $twitter->block->destroy('blockeduser');
 ]]></programlisting>
                 </example>
@@ -851,7 +989,10 @@ $response = $twitter->block->destroy('blockeduser');
                     <title>Wen blockiert man</title>
 
                     <programlisting language="php"><![CDATA[
-$twitter  = new Zend_Service_Twitter('myusername', 'mysecretpassword');
+$twitter = new Zend_Service_Twitter(array(
+    'username' => 'johndoe',
+    'accessToken' => $token
+));
 
 // gibt die komplette Benutzerliste zurück
 $response = $twitter->block->blocking(1);