| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 17166 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.http.client.migration">
- <title>Migration von vorhergehenden Versionen</title>
- <para>
- Wärend die externe API von <classname>Zend_Http_Client</classname> durch den kompletten
- 1.x Baum vom Zend Framework konsistent geblieben ist, wurden einige Änderungen in der
- internen Struktur von <classname>Zend_Http_Client</classname> und den abhängigen
- Klassen durchgeführt.
- </para>
- <para>
- Diese Änderungen sollten keinen Effekt bei Code haben der
- <classname>Zend_Http_Client</classname> verwendet - kann aber Effekte bei PHP Klassen
- zeigen welche diese Erweitern oder Überladen. Wenn die eigene Anwendung
- <classname>Zend_Http_Client</classname> erweitert, ist es stark zu empfehlen die folgenden
- Änderungen anzusehen bevor der Zend Framework hochgerüstet wird.
- </para>
- <sect2 id="zend.http.client.migration.tozf19">
- <title>Migrating from 1.8 or older to 1.9 or newer</title>
- <sect3 id="zend.http.client.migration.tozf19.fileuploadsarray">
- <title>
- Änderungen in der internen Speicherung der Information von hochgeladenen Dateien
- </title>
- <para>
- In Version 1.9 vom Zend Framework gibt es eine Ändernug wie
- <classname>Zend_Http_Client</classname> Informationen über hochgeladenen Dateien
- intern speichert, bei denen die
- <methodname>Zend_Http_Client::setFileUpload()</methodname> Methode verwendet wird.
- </para>
- <para>
- Diese Änderung wurde durchgeführt um es zu erlauben mehrere Dateien mit dem
- gleichen Formularnamen, als Array von Dateien, hochzuladen. Weitere Informationen
- über dieses Problem können in <ulink
- url="http://framework.zend.com/issues/browse/ZF-5744">diesem
- Fehlerreport</ulink> gefunden werden.
- </para>
- <example id="zend.http.client.migration.tozf19.fileuploadsarray.example">
- <title>Interne Speicherung der Informationen von hochgeladenen Dateien</title>
- <programlisting language="php"><![CDATA[
- // Zwei Dateien mit dem gleichen Namen des Formularelements als Array hochladen
- $client = new Zend_Http_Client();
- $client->setFileUpload('file1.txt',
- 'userfile[]',
- 'some raw data',
- 'text/plain');
- $client->setFileUpload('file2.txt',
- 'userfile[]',
- 'some other data',
- 'application/octet-stream');
- // In Zend Framework 1.8 oder älter, ist der Wert der geschützten
- // Variable $client->files:
- // $client->files = array(
- // 'userfile[]' => array('file2.txt',
- 'application/octet-stream',
- 'some other data')
- // );
- // In Zend Framework 1.9 oder neuer, ist der Wert von $client->files:
- // $client->files = array(
- // array(
- // 'formname' => 'userfile[]',
- // 'filename' => 'file1.txt,
- // 'ctype' => 'text/plain',
- // 'data' => 'some raw data'
- // ),
- // array(
- // 'formname' => 'userfile[]',
- // 'filename' => 'file2.txt',
- // 'formname' => 'application/octet-stream',
- // 'formname' => 'some other data'
- // )
- // );
- ]]></programlisting>
- </example>
- <para>
- Wie man sieht gestattet diese Änderung die Verwendung des gleichen Namens für das
- Formularelement mit mehr als einer Datei - trotzdem führt dies zu einer subtilen
- Änderung der Rückwärtskompatibilität und sollte erwähnt werden.
- </para>
- </sect3>
- <sect3 id="zend.http.client.migration.tozf19.getparamsrecursize">
- <title>
- Zend_Http_Client::_getParametersRecursive() sollte nicht mehr eingesetzt werden
- </title>
- <para>
- Beginnend mit Version 1.9, wird die geschützte Methode
- <methodname>_getParametersRecursive()</methodname> nicht mehr von
- <classname>Zend_Http_Client</classname> verwendet und ist abgelehnt (deprecated).
- Ihre Verwendung führt zu einer E_NOTICE Nachricht die von PHP kommt.
- </para>
- <para>
- Wenn man <classname>Zend_Http_Client</classname> erweitert und diese Methode
- aufrufr, sollte man sehen das man stattdessen die statische Methode
- <methodname>Zend_Http_Client::_flattenParametersArray()</methodname> verwendet.
- </para>
- <para>
- Nochmals, da <classname>_getParametersRecursive</classname> eine geschützte Methode
- ist, sind nur Benutzer betroffen die <classname>Zend_Http_Client</classname>
- erweitert haben.
- </para>
- </sect3>
- </sect2>
- </sect1>
|