Browse Source

[MANUAL] German:

- sync up to 19348

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@19395 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas 16 years ago
parent
commit
7e44688092

+ 92 - 5
documentation/manual/de/module_specs/Zend_Http_Client-Advanced.xml

@@ -1,16 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 18840 -->
+<!-- EN-Revision: 19229 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.http.client.advanced">
     <title>Zend_Http_Client - Fortgeschrittende Nutzung</title>
 
     <sect2 id="zend.http.client.redirections">
         <title>HTTP Umleitungen</title>
+
         <para>
             Standardmäßig verarbeitet <classname>Zend_Http_Client</classname>
             <acronym>HTTP</acronym> Umleitungen automatisch und folgt bis zu 5 Umleitungen. Dies
             kann durch Setzen des 'maxredirects' Konfigurationsparameters gändert werden.
         </para>
+
         <para>
             Gemäß dem HTTP/1.1 RFC sollten HTTP 301 und 302 Antworten vom Client behandelt werden,
             indem die selbe Anfrage erneut an die angebene Stelle versendet wird - unter Verwendung
@@ -31,6 +33,7 @@ $client->setConfig(array('strictredirects' => false);
 ]]></programlisting>
             </example>
         </para>
+
         <para>
             Man kann immer die Anzahl der durchgeführten Umleitungen nach dem Senden einer Anfrage
             durch Verwendung der getRedirectionsCount() Methoden erhalten.
@@ -39,6 +42,7 @@ $client->setConfig(array('strictredirects' => false);
 
     <sect2 id="zend.http.client.cookies">
         <title>Hinzufügen von Cookies und Verwendung von persistenten Cookies</title>
+
         <para>
             Zend_Http_Client stellt eine einfache Schnittstelle zum Hinzufügen von Cookies zu einer
             Anfrage bereit, so dass keine direkten Header Änderungen notwendig sind. Dies wird
@@ -275,15 +279,24 @@ $client->setUri('http://christer:secret@example.com');
             Anfragehauptteil und anfragespezifischen Header zurückgesetzt und nicht bei der nächsten
             Anfrage wiederverwendet werden.
         </para>
+
         <note>
             <title>Parameter zurück setzen</title>
+
             <para>
-                Bitte beachten, dass Header, die nicht anfragespezifisch sind, nicht zurück gesetzt
-                werden, wenn die resetParameters Methode verwendet wird. Tatsächlich werden nur
-                die 'Content-length' und 'Content-type' Header zurück gesetzt. Dies erlaubt das
-                Setzen und Vergessen von Headern wie 'Accept-language' und 'Accept-encoding'.
+                Bitte beachten, dass Header, die nicht anfragespezifisch sind, standardmäßig nicht
+                zurück gesetzt werden, wenn die <methodname>resetParameters()</methodname> Methode
+                verwendet wird. Nur die 'Content-length' und 'Content-type' Header werden zurück
+                gesetzt. Dies erlaubt das Setzen und Vergessen von Headern wie 'Accept-language' und
+                'Accept-encoding'.
+            </para>
+
+            <para>
+                Um alle Header und Daten aus der URI und der Methode zu löschen kann
+                <methodname>resetParameters(true)</methodname> verwendet werden.
             </para>
         </note>
+
         <para>
             Ein weiteres Feature, welches speziell für aufeinander folgende Anfragen entwickelt
             worden ist, ist das Cookie Jar Objekt (Keksdose). Cookie Jars erlauben das automatische
@@ -292,6 +305,7 @@ $client->setUri('http://christer:secret@example.com');
             Authentifizierungsanfrage zu durchlaufen, bevor die eigentliche Anfrage zum
             Erhalten der Daten gesendet wird.
         </para>
+
         <para>
             Wenn die Applikation eine Authentifizierungsanfrage pro Benutzer erfordert und
             nachfolgende Anfragen in mehr als einem Skript in der Applikation durchgeführt werden
@@ -336,6 +350,79 @@ $_SESSION['cookiejar'] = $client->getCookieJar();
 ]]></programlisting>
         </example>
     </sect2>
+
+    <sect2 id="zend.http.client.streaming">
+        <title>Daten Streaming</title>
+
+        <para>
+            Standardmäßig akzeptiert <classname>Zend_Http_Client</classname> Daten als PHP Strings
+            und gibt diese auch zurück. Trotzdem sind in vielen Fällen große Dateien zu Senden oder
+            zu Empfangen. Diese im Speicher zu halten könnte unnötig oder zu teuer sein. Für diese
+            Fälle unterstützt <classname>Zend_Http_Client</classname> das Lesen von Daten aus
+            Dateien (und generell auch PHP Streams) und das Schreiben von Daten in Dateien
+            (Streams).
+        </para>
+
+        <para>
+            Um Streams für die Übergabe von Daten zu <classname>Zend_Http_Client</classname> zu
+            verwenden, muss die Methode <methodname>setRawData()</methodname> verwendet werden,
+            wobei das Daten Argument eine Stream Ressource ist (z.B. das Ergebnis von
+            <methodname>fopen()</methodname>).
+            <example id="zend.http.client.streaming.example-1">
+                <title>Senden von Dateien zum HTTP Server durch Streamen</title>
+
+                <programlisting language="php"><![CDATA[
+]]>
+$fp = fopen("mybigfile.zip", "r");
+$client->setRawData($fp, 'application/zip')->request('PUT');
+</programlisting>
+            </example>
+        </para>
+
+        <para>
+            Aktuell unterstützen nur PUT Anfragen das Senden von Streams zum HTTP Server.
+        </para>
+
+        <para>
+            Um Daten vom Server als Stream zu Empfangen kann <methodname>setStream()</methodname>
+            verwendet werden. Das optionale Argument spezifiziert den Dateinamen unter dem die Daten
+            gespeichert werden. Wenn das Argument einfach nur TRUE ist (Standard), wird eine
+            temporäre Datei verwenden und gelöscht sobald das Antwort Objekt zerstört wird.
+            Wenn das Argument auf FALSE gesetzt wird, ist die Streaming-Funktionalität
+            ausgeschaltet.
+        </para>
+
+        <para>
+            Wenn Streaming verwendet wird, gibt die Methode <methodname>request()</methodname> ein
+            Objekt der Klasse <classname>Zend_Http_Client_Response_Stream</classname> zurück,
+            welches zwei nützliche Methoden hat: <methodname>getStreamName()</methodname> gibt den
+            Namen der Datei zurück in welcher die Antwort gespeichert wird, und
+            <methodname>getStream()</methodname> gibt den Stream zurück von dem die Antwort gelesen
+            werden könnte.
+        </para>
+
+        <para>
+            Man kann die Antwort entweder in eine vordefinierte Datei schreiben, oder eine temporäre
+            Datei hierfür verwenden und Sie woanders hinsenden, oder Sie durch Verwendung von
+            regulären Streaming Funktionen an eine andere Datei Senden.
+            <example id="zend.http.client.streaming.example-2">
+                <title>Empfangen von Dateien vom HTTP Server durch Streamen</title>
+
+                <programlisting language="php"><![CDATA[
+]]>
+$client->setStreaming(); // will use temp file
+$response = $client->request('GET');
+// Datei kopieren
+copy($response->getStreamName(), "my/downloads/file");
+// Stream verwenden
+$fp = fopen("my/downloads/file2", "w");
+stream_copy_to_stream($response->getStream(), $fp);
+// Kann auch in eine bekannte Datei schreiben
+$client->setStreaming("my/downloads/myfile)->request('GET');
+</programlisting>
+            </example>
+        </para>
+    </sect2>
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 1 - 1
documentation/manual/de/module_specs/Zend_Ldap-API-Ldap-Filter.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 17230 -->
+<!-- EN-Revision: 19247 -->
 <!-- Reviewed: no -->
 <sect3 id="zend.ldap.api.reference.zend-ldap-filter">
     <title>Zend_Ldap_Filter</title>

+ 1 - 1
documentation/manual/de/module_specs/Zend_Ldap-API-Ldap-Node-RootDse.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19150 -->
+<!-- EN-Revision: 19251 -->
 <!-- Reviewed: no -->
 <sect3 id="zend.ldap.api.reference.zend-ldap-node-rootdse">
     <title>Zend_Ldap_Node_RootDse</title>

+ 1 - 1
documentation/manual/de/module_specs/Zend_Queue-Adapters.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 17669 -->
+<!-- EN-Revision: 19320 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.queue.adapters">
     <title>Adapter</title>

+ 50 - 1
documentation/manual/de/module_specs/Zend_Service_Amazon_S3.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 17232 -->
+<!-- EN-Revision: 19227 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.service.amazon.s3">
     <title>Zend_Service_Amazon_S3</title>
@@ -459,6 +459,55 @@ foreach($list as $name) {
        </itemizedlist>
     </sect2>
 
+    <sect2 id="zend.service.amazon.s3.streaming">
+        <title>Daten Streamen</title>
+
+        <para>
+            Es ist möglich Objekte zu Holen und Setzen wobei keine Stream Daten verwendet werden die
+            im Speicher sind, sondern Dateien oder PHP Streams. Das ist Speziell dann nützlich wenn
+            Dateien sehr groß sind um nicht über Speichergrenzen zu kommen.
+        </para>
+
+        <para>
+            Um ein Objekt mit Streaming zu Empfangen muss die Methode
+            <methodname>getObjectStream($object, $filename)</methodname> verwendet werden. Diese
+            Methode gibt einen <classname>Zend_Http_Response_Stream</classname> zurück, welcher wie
+            im Kapitel <link linkend="zend.http.client.streaming">HTTP Client Daten Streaming</link>
+            verwendet werden kann.
+            <example id="zend.service.amazon.s3.streaming.example1">
+                <title>Beispiel für das Streamen von Daten mit Zend_Service_Amazon_S3</title>
+
+                <programlisting language="php"><![CDATA[
+$response = $amazon->getObjectStream("mybycket/zftest");
+// Datei kopieren
+copy($response->getStreamName(), "my/downloads/file");
+// Hinauf Streamen
+$fp = fopen("my/downloads/file2", "w");
+stream_copy_to_stream($response->getStream(), $fp);
+]]></programlisting>
+            </example>
+        </para>
+
+        <para>
+            Der zweite Parameter für <methodname>getObjectStream()</methodname> ist optional und
+            spezifiziert die Zieldatei in welche die dAten geschrieben werden. Wenn er nicht
+            spezifiziert ist, wird eine temporäre Datei verwendet. Diese wird gelöscht nachdem das
+            Antwort-Objekt gelöscht wurde.
+         </para>
+
+         <para>
+             Um ein Objekt mit Streaming zu Senden kann <methodname>putFileStream()</methodname>
+             verwendet werden. Es hat die gleiche Signatur wie <methodname>putFile()</methodname>
+             verwendet aber Streaming und liest die Datei nicht in den Speicher ein.
+         </para>
+
+         <para>
+             Man kann auch eine Stream Ressource an die <methodname>putObject()</methodname> Methode
+             als Daten Parameter übergeben. In diesem Fall werden die Daten vom Stream gelesen wenn
+             die Anfrage an den Server gesendet wird.
+         </para>
+    </sect2>
+
     <sect2 id="zend.service.amazon.s3.streams">
         <title>Stream wrapper</title>