Programmer's Reference Guide

Zend_Http_Client - Adaptateurs de connexion

Migrer depuis les versions précédentes

Alors que l'API externe de Zend_Http_Client n'a pas changé sur la branche 1.x de Zend Framework, des changements ont été opérés dans la structure interne de Zend_Http_Client.

Ces changements ne devraient pas avoir de conséquence si vous utilisiez directement Zend_Http_Client, mais des boulversements peuvent apparaitre dans le cas où vous dériviez l'objet par surcharge. Voyez ainsi ce chapitre.

Migrer depuis 1.8 ou avant, vers 1.9 ou après

Changement dans le stockage interne des fichiers d'upload

Dans la version 1.9 de Zend Framework, il y a eu un changement dans la manière dont Zend_Http_Client stocke en interne les informations concernant les fichiers ayant été uploadés, affectés grâce à Zend_Http_Client::setFileUpload()

Ce changement a été mis en place de manière à permettre l'envoi de plusieurs fichiers avec le même nom dans le formulaire, en tant que tableau de fichiers. Plus d'informations à ce sujet peuvent être trouvées dans ce » rapport de bug.

Exemple #1 Stockage interne des informations sur les fichiers uploadés

  1. // Uploade 2 fichiers avec le même nom d'élément de formulaire, en tant que tableau
  2. $client = new Zend_Http_Client();
  3. $client->setFileUpload('file1.txt', 'userfile[]', 'some raw data', 'text/plain');
  4. $client->setFileUpload('file2.txt', 'userfile[]', 'some other data', 'application/octet-stream');
  5.  
  6. // Dans Zend Framework <=1.8, la valeur de l'attribut protégé $client->files est:
  7. // $client->files = array(
  8. //     'userfile[]' => array('file2.txt', 'application/octet-stream', 'some other data')
  9. // );
  10.  
  11. // Dans Zend Framework >=1.9, la valeur de $client->files est:
  12. // $client->files = array(
  13. //     array(
  14. //         'formname' => 'userfile[]',
  15. //         'filename' => 'file1.txt,
  16. //         'ctype'    => 'text/plain',
  17. //         'data'     => 'some raw data'
  18. //     ),
  19. //     array(
  20. //         'formname' => 'userfile[]',
  21. //         'filename' => 'file2.txt',
  22. //         'formname' => 'application/octet-stream',
  23. //         'formname' => 'some other data'
  24. //     )
  25. // );

Comme vous le voyez, ce changement permet l'utilisation du même élément de formulaire avec plusieurs fichiers. Cependant ceci introduit un changement subtile dans l'API interne, il est donc signalé ici.


Zend_Http_Client - Adaptateurs de connexion
blog comments powered by Disqus

Select a Version

Languages Available

Components

Search the Manual