Zend_Http_Client-Migration.xml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 17175 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.http.client.migration">
  5. <title>Migrer depuis les versions précédentes</title>
  6. <para>
  7. Alors que l'API externe de <classname>Zend_Http_Client</classname> n'a pas changé sur la branche
  8. 1.x de Zend Framework, des changements ont été opérés dans la structure interne de
  9. <classname>Zend_Http_Client</classname>.
  10. </para>
  11. <para>
  12. Ces changements ne devraient pas avoir de conséquence si vous utilisiez directement
  13. <classname>Zend_Http_Client</classname>, mais des boulversements peuvent apparaitre dans le cas
  14. où vous dériviez l'objet par surcharge. Voyez ainsi ce chapitre.
  15. </para>
  16. <sect2 id="zend.http.client.migration.tozf19">
  17. <title>Migrer depuis 1.8 ou avant, vers 1.9 ou après</title>
  18. <sect3 id="zend.http.client.migration.tozf19.fileuploadsarray">
  19. <title>Changement dans le stockage interne des fichiers d'upload</title>
  20. <para>
  21. Dans la version 1.9 de Zend Framework, il y a eu un changement dans la manière dont
  22. <classname>Zend_Http_Client</classname> stocke en interne les informations concernant les
  23. fichiers ayant été uploadés, affectés grâce à <methodname>Zend_Http_Client::setFileUpload()</methodname>
  24. </para>
  25. <para>
  26. Ce changement a été mis en place de manière à permettre l'envoi de plusieurs fichiers
  27. avec le même nom dans le formulaire, en tant que tableau de fichiers. Plus d'informations à
  28. ce sujet peuvent être trouvées dans ce
  29. <ulink url="http://framework.zend.com/issues/browse/ZF-5744">rapport de bug</ulink>.
  30. </para>
  31. <example id="zend.http.client.migration.tozf19.fileuploadsarray.example">
  32. <title>Stockage interne des informations sur les fichiers uploadés</title>
  33. <programlisting language="php"><![CDATA[
  34. // Uploade 2 fichiers avec le même nom d'élément de formulaire, en tant que tableau
  35. $client = new Zend_Http_Client();
  36. $client->setFileUpload('file1.txt', 'userfile[]', 'some raw data', 'text/plain');
  37. $client->setFileUpload('file2.txt', 'userfile[]', 'some other data', 'application/octet-stream');
  38. // Dans Zend Framework <=1.8, la valeur de l'attribut protégé $client->files est:
  39. // $client->files = array(
  40. // 'userfile[]' => array('file2.txt', 'application/octet-stream', 'some other data')
  41. // );
  42. // Dans Zend Framework >=1.9, la valeur de $client->files est:
  43. // $client->files = array(
  44. // array(
  45. // 'formname' => 'userfile[]',
  46. // 'filename' => 'file1.txt,
  47. // 'ctype' => 'text/plain',
  48. // 'data' => 'some raw data'
  49. // ),
  50. // array(
  51. // 'formname' => 'userfile[]',
  52. // 'filename' => 'file2.txt',
  53. // 'formname' => 'application/octet-stream',
  54. // 'formname' => 'some other data'
  55. // )
  56. // );
  57. ]]></programlisting>
  58. </example>
  59. <para>
  60. Comme vous le voyez, ce changement permet l'utilisation du même élément de formulaire avec plusieurs
  61. fichiers. Cependant ceci introduit un changement subtile dans l'API interne, il est donc signalé ici.
  62. </para>
  63. </sect3>
  64. </sect2>
  65. </sect1>