| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335 |
- <?xml version="1.0" encoding="utf-8"?>
- <!-- EN-Revision: 12789 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.file.transfer.migration">
- <title>Migrer à partir des versions précédentes</title>
- <para>L'API de <classname>Zend_File_Transfer</classname> a changé au cours du temps. Si vous avez commencé à utiliser
- <classname>Zend_File_Transfer</classname> et ses sous-composants avec les versions précédentes, suivez les lignes directrices
- ci-dessous pour migrer vos scripts et ainsi utiliser la nouvelle API.</para>
- <sect2 id="zend.file.transfer.migration.fromonesixtooneseven">
- <title>Migrer de la version 1.6 vers 1.7 ou plus récent</title>
- <sect3 id="zend.file.transfer.migration.fromonesixtooneseven.validators">
- <title>Changements quand vous utilisez des filtres ou des validateurs</title>
- <para>Certaines remarques des utilisateurs indiquaient que les validateurs de
- <classname>Zend_File_Transfer</classname> ne fonctionnaient pas correctement avec <classname>Zend_Config</classname> dû au fait
- qu'ils n'utilisait pas de tableaux nommés.</para>
- <para>De plus, tous les filtres et validateurs de <classname>Zend_File_Transfer</classname> ont été réécrits. Même si
- les anciennes signatures continuent à fonctionner, elles ont été marqués comme dépréciées et émettent une
- notice PHP vous informant de faire le changement.</para>
- <para>La liste suivante vous montre les changements à réaliser pour une utilisation appropriée des
- paramètres.</para>
- <sect4 id="zend.file.transfer.migration.fromonesixtooneseven.validators.rename">
- <title>Filtre <emphasis>Rename</emphasis></title>
- <itemizedlist>
- <listitem>
- <para>Ancienne API : <classname>Zend_Filter_File_Rename($oldfile, $newfile, $overwrite)</classname></para>
- </listitem>
- <listitem>
- <para>Nouvelle API : <classname>Zend_Filter_File_Rename($options)</classname> où <code>$options</code>
- accepte un tableau avec les clés suivantes : <emphasis>source</emphasis> est équivalent à
- <code>$oldfile</code>, <emphasis>target</emphasis> est équivalent à <code>$newfile</code>,
- <emphasis>overwrite</emphasis> est équivalent à <code>$overwrite.</code></para>
- </listitem>
- </itemizedlist>
- <example id="zend.file.transfer.migration.fromonesixonetooneseven.validators.rename.example">
- <title>Changer le filtre rename entre 1.6 et 1.7</title>
- <programlisting role="php"><![CDATA[
- // Exemple pour 1.6
- $upload = new Zend_File_Transfer_Adapter_Http();
- $upload->addFilter('Rename',
- array('/path/to/oldfile', '/path/to/newfile', true));
- // Même exemple pour 1.7
- $upload = new Zend_File_Transfer_Adapter_Http();
- $upload->addFilter('Rename',
- array('source' => '/path/to/oldfile',
- 'target' => '/path/to/newfile',
- 'overwrite' => true));
- ]]></programlisting>
- </example>
- </sect4>
- <sect4 id="zend.file.transfer.migration.fromonesixtooneseven.validators.count">
- <title>Validateur <emphasis>Count</emphasis></title>
- <itemizedlist>
- <listitem>
- <para>Ancienne API : <classname>Zend_Validate_File_Count($min, $max)</classname></para>
- </listitem>
- <listitem>
- <para>Nouvelle API : <classname>Zend_Validate_File_Count($options)</classname> où <code>$options</code>
- accepte un tableau avec les clés suivantes : <emphasis>min</emphasis> est équivalent à
- <code>$min</code>, <emphasis>max</emphasis> est équivalent à <code>$max</code>.</para>
- </listitem>
- </itemizedlist>
- <example id="zend.file.transfer.migration.fromonesixonetooneseven.validators.count.example">
- <title>Changer le validateur count entre 1.6 et 1.7</title>
- <programlisting role="php"><![CDATA[
- // Exemple pour 1.6
- $upload = new Zend_File_Transfer_Adapter_Http();
- $upload->addValidator('Count',
- array(2, 3));
- // Même exemple pour 1.7
- $upload = new Zend_File_Transfer_Adapter_Http();
- $upload->addValidator('Count',
- false,
- array('min' => 2,
- 'max' => 3));
- ]]></programlisting>
- </example>
- </sect4>
- <sect4 id="zend.file.transfer.migration.fromonesixtooneseven.validators.extension">
- <title>Validateur <emphasis>Extension</emphasis></title>
- <itemizedlist>
- <listitem>
- <para>Ancienne API : <classname>Zend_Validate_File_Extension($extension, $case)</classname></para>
- </listitem>
- <listitem>
- <para>Nouvelle API : <classname>Zend_Validate_File_Extension($options)</classname> où
- <code>$options</code> accepte un tableau avec les clés suivantes : <emphasis>*</emphasis> est
- équivalent à <code>$extension</code> et peut avoir tout autre clé, <emphasis>case</emphasis> est
- équivalent à <code>$case</code>.</para>
- </listitem>
- </itemizedlist>
- <example id="zend.file.transfer.migration.fromonesixonetooneseven.validators.extension.example">
- <title>Changer le validateur extension entre 1.6 et 1.7</title>
- <programlisting role="php"><![CDATA[
- // Exemple pour 1.6
- $upload = new Zend_File_Transfer_Adapter_Http();
- $upload->addValidator('Extension',
- array('jpg,gif,bmp', true));
- // Même exemple pour 1.7
- $upload = new Zend_File_Transfer_Adapter_Http();
- $upload->addValidator('Extension',
- false,
- array('extension1' => 'jpg,gif,bmp',
- 'case' => true));
- ]]></programlisting>
- </example>
- </sect4>
- <sect4 id="zend.file.transfer.migration.fromonesixtooneseven.validators.filessize">
- <title>Validateur <emphasis>FilesSize</emphasis></title>
- <itemizedlist>
- <listitem>
- <para>Ancienne API : <classname>Zend_Validate_File_FilesSize($min, $max, $bytestring)</classname></para>
- </listitem>
- <listitem>
- <para>Nouvelle API : <classname>Zend_Validate_File_FilesSize($options)</classname> où
- <code>$options</code> accepte un tableau avec les clés suivantes : <emphasis>min</emphasis> est
- équivalent à <code>$min</code>, <emphasis>max</emphasis> est équivalent à <code>$max</code>,
- <emphasis>bytestring</emphasis> est équivalent à <code>$bytestring</code>.</para>
- </listitem>
- </itemizedlist>
- <para>De plus la signature de la méthode <code>useByteString()</code> a changé. Elle peut être seulement
- utilisée pour tester si le validateur prévoie d'utiliser les chaînes lisibles ou la valeur brute dans
- les messages générées. Pour paramétrer la valeur de cette option, utilisez la méthode
- <code>setUseByteString()</code>.</para>
- <example id="zend.file.transfer.migration.fromonesixonetooneseven.validators.filessize.example">
- <title>Changer le validateur filessize entre 1.6 et 1.7</title>
- <programlisting role="php"><![CDATA[
- // Exemple pour 1.6
- $upload = new Zend_File_Transfer_Adapter_Http();
- $upload->addValidator('FilesSize',
- array(100, 10000, true));
- // Même exemple pour 1.7
- $upload = new Zend_File_Transfer_Adapter_Http();
- $upload->addValidator('FilesSize',
- false,
- array('min' => 100,
- 'max' => 10000,
- 'bytestring' => true));
- // Exemple pour 1.6
- $upload->useByteString(true); // set flag
- // Même exemple pour 1.7
- $upload->setUseByteSting(true); // set flag
- ]]></programlisting>
- </example>
- </sect4>
- <sect4 id="zend.file.transfer.migration.fromonesixtooneseven.validators.hash">
- <title>Validateur <emphasis>Hash</emphasis></title>
- <itemizedlist>
- <listitem>
- <para>Ancienne API : <classname>Zend_Validate_File_Hash($hash, $algorithm)</classname></para>
- </listitem>
- <listitem>
- <para>Nouvelle API : <classname>Zend_Validate_File_Hash($options)</classname> où <code>$options</code>
- accepte un tableau avec les clés suivantes : <emphasis>*</emphasis> est équivalent à
- <code>$hash</code> et peut avoir tout autre clé, <emphasis>algorithm</emphasis> est équivalent à
- <code>$algorithm</code>.</para>
- </listitem>
- </itemizedlist>
- <example id="zend.file.transfer.migration.fromonesixonetooneseven.validators.hash.example">
- <title>Changer le validateur hash entre 1.6 et 1.7</title>
- <programlisting role="php"><![CDATA[
- // Exemple pour 1.6
- $upload = new Zend_File_Transfer_Adapter_Http();
- $upload->addValidator('Hash',
- array('12345', 'md5'));
- // Même exemple pour 1.7
- $upload = new Zend_File_Transfer_Adapter_Http();
- $upload->addValidator('Hash',
- false,
- array('hash1' => '12345',
- 'algorithm' => 'md5'));
- ]]></programlisting>
- </example>
- </sect4>
- <sect4 id="zend.file.transfer.migration.fromonesixtooneseven.validators.imagesize">
- <title>Validateur <emphasis>ImageSize</emphasis></title>
- <itemizedlist>
- <listitem>
- <para>Ancienne API : <classname>Zend_Validate_File_ImageSize($minwidth, $minheight, $maxwidth,
- $maxheight)</classname></para>
- </listitem>
- <listitem>
- <para>Nouvelle API : <classname>Zend_Validate_File_FilesSize($options)</classname> où
- <code>$options</code> accepte un tableau avec les clés suivantes : <emphasis>minwidth</emphasis>
- est équivalent à <code>$minwidth</code>, <emphasis>maxwidth</emphasis> est équivalent à
- <code>$maxwidth</code>, <emphasis>minheight</emphasis> est équivalent à <code>$minheight</code>,
- <emphasis>maxheight</emphasis> est équivalent à <code>$maxheight</code>.</para>
- </listitem>
- </itemizedlist>
- <example id="zend.file.transfer.migration.fromonesixonetooneseven.validators.imagesize.example">
- <title>Changer le validateur imagesize entre 1.6 et 1.7</title>
- <programlisting role="php"><![CDATA[
- // Exemple pour 1.6
- $upload = new Zend_File_Transfer_Adapter_Http();
- $upload->addValidator('ImageSize',
- array(10, 10, 100, 100));
- // Même exemple pour 1.7
- $upload = new Zend_File_Transfer_Adapter_Http();
- $upload->addValidator('ImageSize',
- false,
- array('minwidth' => 10,
- 'minheight' => 10,
- 'maxwidth' => 100,
- 'maxheight' => 100));
- ]]></programlisting>
- </example>
- </sect4>
- <sect4 id="zend.file.transfer.migration.fromonesixtooneseven.validators.size">
- <title>Validateur <emphasis>Size</emphasis></title>
- <itemizedlist>
- <listitem>
- <para>Ancienne API : <classname>Zend_Validate_File_Size($min, $max, $bytestring)</classname></para>
- </listitem>
- <listitem>
- <para>Nouvelle API : <classname>Zend_Validate_File_Size($options)</classname> où <code>$options</code>
- accepte un tableau avec les clés suivantes : <emphasis>min</emphasis> est équivalent à
- <code>$min</code>, <emphasis>max</emphasis> est équivalent à <code>$max</code>,
- <emphasis>bytestring</emphasis> est équivalent à <code>$bytestring</code></para>
- </listitem>
- </itemizedlist>
- <example id="zend.file.transfer.migration.fromonesixonetooneseven.validators.size.example">
- <title>Changer le validateur size entre 1.6 et 1.7</title>
- <programlisting role="php"><![CDATA[
- // Exemple pour 1.6
- $upload = new Zend_File_Transfer_Adapter_Http();
- $upload->addValidator('Size',
- array(100, 10000, true));
- // Même exemple pour 1.7
- $upload = new Zend_File_Transfer_Adapter_Http();
- $upload->addValidator('Size',
- false,
- array('min' => 100,
- 'max' => 10000,
- 'bytestring' => true));
- ]]></programlisting>
- </example>
- </sect4>
- </sect3>
- </sect2>
- <sect2 id="zend.file.transfer.migration.fromonesixonetoonesixtwo">
- <title>Migrer de la version 1.6.1 vers 1.6.2 ou plus récent</title>
- <sect3 id="zend.file.transfer.migration.fromonesixonetoonesixtwo.validators">
- <title>Changements quand vous utilisez des validateurs</title>
- <para>Certaines remarques des utilisateurs indiquaient que les validateurs de
- <classname>Zend_File_Transfer</classname> ne fonctionnaient pas comme ceux par défaut fournis avec
- <classname>Zend_Form</classname>. <classname>Zend_Form</classname> permet par exemple l'utilisation du paramètre
- <code>breakChainOnFailure</code> qui stoppe la validation de tous les validateurs suivants dès qu'une erreur
- de validation apparaît.</para>
- <para>Nous avons donc ajouter ce paramètre à tous les validateurs existants pour
- <classname>Zend_File_Transfer</classname>.</para>
- <itemizedlist>
- <listitem>
- <para>Ancienne API : <code>addValidator($validator, $options, $files)</code>.</para>
- </listitem>
- <listitem>
- <para>Nouvelle API : <code>addValidator($validator, $breakChainOnFailure, $options,
- $files)</code>.</para>
- </listitem>
- </itemizedlist>
- <para>Pour migrer vos scripts vers la nouvelle API, ajoutez simplement un a <code>false</code> après voir
- défini le validateur souhaité.</para>
- <example id="zend.file.transfer.migration.fromonesixonetoonesixtwo.example">
- <title>Changer les validateurs de fichiers de 1.6.1 vers 1.6.2</title>
- <programlisting role="php"><![CDATA[
- // Exemple pour 1.6.1
- $upload = new Zend_File_Transfer_Adapter_Http();
- $upload->addValidator('FilesSize', array('1B', '100kB'));
- // Même exemple pour 1.6.2 et plus récent
- // Notez l'ajout du booléen false
- $upload = new Zend_File_Transfer_Adapter_Http();
- $upload->addValidator('FilesSize', false, array('1B', '100kB'));]]></programlisting>
- </example>
- </sect3>
- </sect2>
- </sect1>
|