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.
Stockage interne des informations sur les fichiers uploadés
setFileUpload('file1.txt', 'userfile[]', 'some raw data', 'text/plain');
$client->setFileUpload('file2.txt', 'userfile[]', 'some other data', 'application/octet-stream');
// Dans Zend Framework <=1.8, la valeur de l'attribut protégé $client->files est:
// $client->files = array(
// 'userfile[]' => array('file2.txt', 'application/octet-stream', 'some other data')
// );
// Dans Zend Framework >=1.9, la valeur de $client->files est:
// $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'
// )
// );
]]>
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.