Zend_Http_Client-Migration.xml 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 17175 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.http.client.migration">
  5. <title>Migration von vorhergehenden Versionen</title>
  6. <para>
  7. Wärend die externe <acronym>API</acronym> von <classname>Zend_Http_Client</classname> durch
  8. den kompletten 1.x Baum vom Zend Framework konsistent geblieben ist, wurden einige
  9. Änderungen in der internen Struktur von <classname>Zend_Http_Client</classname> und den
  10. abhängigen Klassen durchgeführt.
  11. </para>
  12. <para>
  13. Diese Änderungen sollten keinen Effekt bei Code haben der
  14. <classname>Zend_Http_Client</classname> verwendet - kann aber Effekte bei
  15. <acronym>PHP</acronym> Klassen zeigen welche diese Erweitern oder Überladen. Wenn die eigene
  16. Anwendung <classname>Zend_Http_Client</classname> erweitert, ist es stark zu empfehlen die
  17. folgenden Änderungen anzusehen bevor der Zend Framework hochgerüstet wird.
  18. </para>
  19. <sect2 id="zend.http.client.migration.tozf19">
  20. <title>Migrating from 1.8 or older to 1.9 or newer</title>
  21. <sect3 id="zend.http.client.migration.tozf19.fileuploadsarray">
  22. <title>
  23. Änderungen in der internen Speicherung der Information von hochgeladenen Dateien
  24. </title>
  25. <para>
  26. In Version 1.9 vom Zend Framework gibt es eine Ändernug wie
  27. <classname>Zend_Http_Client</classname> Informationen über hochgeladenen Dateien
  28. intern speichert, bei denen die
  29. <methodname>Zend_Http_Client::setFileUpload()</methodname> Methode verwendet wird.
  30. </para>
  31. <para>
  32. Diese Änderung wurde durchgeführt um es zu erlauben mehrere Dateien mit dem
  33. gleichen Formularnamen, als Array von Dateien, hochzuladen. Weitere Informationen
  34. über dieses Problem können in <ulink
  35. url="http://framework.zend.com/issues/browse/ZF-5744">diesem
  36. Fehlerreport</ulink> gefunden werden.
  37. </para>
  38. <example id="zend.http.client.migration.tozf19.fileuploadsarray.example">
  39. <title>Interne Speicherung der Informationen von hochgeladenen Dateien</title>
  40. <programlisting language="php"><![CDATA[
  41. // Zwei Dateien mit dem gleichen Namen des Formularelements als Array hochladen
  42. $client = new Zend_Http_Client();
  43. $client->setFileUpload('file1.txt',
  44. 'userfile[]',
  45. 'some raw data',
  46. 'text/plain');
  47. $client->setFileUpload('file2.txt',
  48. 'userfile[]',
  49. 'some other data',
  50. 'application/octet-stream');
  51. // In Zend Framework 1.8 oder älter, ist der Wert der geschützten
  52. // Variable $client->files:
  53. // $client->files = array(
  54. // 'userfile[]' => array('file2.txt',
  55. 'application/octet-stream',
  56. 'some other data')
  57. // );
  58. // In Zend Framework 1.9 oder neuer, ist der Wert von $client->files:
  59. // $client->files = array(
  60. // array(
  61. // 'formname' => 'userfile[]',
  62. // 'filename' => 'file1.txt,
  63. // 'ctype' => 'text/plain',
  64. // 'data' => 'some raw data'
  65. // ),
  66. // array(
  67. // 'formname' => 'userfile[]',
  68. // 'filename' => 'file2.txt',
  69. // 'formname' => 'application/octet-stream',
  70. // 'formname' => 'some other data'
  71. // )
  72. // );
  73. ]]></programlisting>
  74. </example>
  75. <para>
  76. Wie man sieht gestattet diese Änderung die Verwendung des gleichen Namens für das
  77. Formularelement mit mehr als einer Datei - trotzdem führt dies zu einer subtilen
  78. Änderung der Rückwärtskompatibilität und sollte erwähnt werden.
  79. </para>
  80. </sect3>
  81. <sect3 id="zend.http.client.migration.tozf19.getparamsrecursize">
  82. <title>
  83. Zend_Http_Client::_getParametersRecursive() sollte nicht mehr eingesetzt werden
  84. </title>
  85. <para>
  86. Beginnend mit Version 1.9, wird die geschützte Methode
  87. <methodname>_getParametersRecursive()</methodname> nicht mehr von
  88. <classname>Zend_Http_Client</classname> verwendet und ist abgelehnt (deprecated).
  89. Ihre Verwendung führt zu einer E_NOTICE Nachricht die von <acronym>PHP</acronym>
  90. kommt.
  91. </para>
  92. <para>
  93. Wenn man <classname>Zend_Http_Client</classname> erweitert und diese Methode
  94. aufrufr, sollte man sehen das man stattdessen die statische Methode
  95. <methodname>Zend_Http_Client::_flattenParametersArray()</methodname> verwendet.
  96. </para>
  97. <para>
  98. Nochmals, da <classname>_getParametersRecursive</classname> eine geschützte Methode
  99. ist, sind nur Benutzer betroffen die <classname>Zend_Http_Client</classname>
  100. erweitert haben.
  101. </para>
  102. </sect3>
  103. </sect2>
  104. </sect1>