| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 18682 -->
- <!-- Reviewed: no -->
- <sect1 id="migration.19">
- <title>Zend Framework 1.9</title>
- <para>
- Lors de la migration d'un version précédente vers Zend Framework 1.9 ou plus récent
- vous devriez prendre note de ce qui suit.
- </para>
- <sect2 id="migration.19.zend.filter">
- <title>Zend_Filter</title>
- <para>
- Avant la version 1.9, <classname>Zend_Filter</classname> permettait l'utilisation
- de la méthode statique <methodname>get()</methodname>. Avec la version 1.9 cette
- méthode a été renommée en <methodname>filterStatic()</methodname> afin d'être plus
- descriptive. L'ancienne méthode <methodname>get()</methodname> est marquée comme
- dépréciée.
- </para>
- </sect2>
- <sect2 id="migration.19.zend.http.client">
- <title>Zend_Http_Client</title>
- <sect3 id="migration.19.zend.http.client.fileuploadsarray">
- <title>Changement dans le stockage interne des fichiers d'upload</title>
- <para>
- Dans la version 1.9 de Zend Framework, il y a eu un changement dans la manière dont
- <classname>Zend_Http_Client</classname> stocke en interne les informations concernant les
- fichiers ayant été uploadés, affectés grâce à <methodname>Zend_Http_Client::setFileUpload()</methodname>
- </para>
- <para>
- 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
- <ulink url="http://framework.zend.com/issues/browse/ZF-5744">rapport de bug</ulink>.
- </para>
- <example id="migration.19.zend.http.client.fileuploadsarray.example">
- <title>Stockage interne des informations sur les fichiers uploadés</title>
- <programlisting language="php"><![CDATA[
- // Uploade 2 fichiers avec le même nom d'élément de formulaire, en tant que tableau
- $client = new Zend_Http_Client();
- $client->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'
- // )
- // );
- ]]></programlisting>
- </example>
- <para>
- 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.
- </para>
- </sect3>
- <sect3 id="migration.19.zend.http.client.getparamsrecursize">
- <title>Deprecation of Zend_Http_Client::_getParametersRecursive()</title>
- <para>
- Starting from version 1.9, the protected method <methodname>_getParametersRecursive()</methodname>
- is no longer used by <classname>Zend_Http_Client</classname> and is deprecated.
- Using it will cause an E_NOTICE message to be emitted by <acronym>PHP</acronym>.
- </para>
- <para>
- If you subclass <classname>Zend_Http_Client</classname> and call this method, you
- should look into using the <methodname>Zend_Http_Client::_flattenParametersArray()</methodname>
- static method instead.
- </para>
- <para>
- Again, since this <classname>_getParametersRecursive</classname> is a protected method,
- this change will only affect users who subclass <classname>Zend_Http_Client</classname>.
- </para>
- </sect3>
- </sect2>
- <sect2 id="migration.19.zend.locale">
- <title>Zend_Locale</title>
- <sect3 id="migration.19.zend.locale.depreciated">
- <title>Méthodes dépréciées</title>
- <para>
- Quelques méthodes de traductions spéciales ont été dépréciées car elles dupliquaient
- un comportement existant. Notez cependant que les anciens appels vont toujours
- fonctionner, mais une notice utilisateur, qui décrira le nouvel appel, sera émise.
- Ces méthodes seront effacées en 2.0. Ci-dessous la liste des anciens et nouveaux
- appels :
- </para>
- <table id="migration.19.zend.locale.depreciated.table-1">
- <title>Liste des types de mesures</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Ancien appel</entry>
- <entry>Nouvel appel</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>getLanguageTranslationList($locale)</entry>
- <entry>getTranslationList('language', $locale)</entry>
- </row>
- <row>
- <entry>getScriptTranslationList($locale)</entry>
- <entry>getTranslationList('script', $locale)</entry>
- </row>
- <row>
- <entry>getCountryTranslationList($locale)</entry>
- <entry>getTranslationList('territory', $locale, 2)</entry>
- </row>
- <row>
- <entry>getTerritoryTranslationList($locale)</entry>
- <entry>getTranslationList('territory', $locale, 1)</entry>
- </row>
- <row>
- <entry>getLanguageTranslation($value, $locale)</entry>
- <entry>getTranslation($value, 'language', $locale)</entry>
- </row>
- <row>
- <entry>getScriptTranslation($value, $locale)</entry>
- <entry>getTranslation($value, 'script', $locale)</entry>
- </row>
- <row>
- <entry>getCountryTranslation($value, $locale)</entry>
- <entry>getTranslation($value, 'country', $locale)</entry>
- </row>
- <row>
- <entry>getTerritoryTranslation($value, $locale)</entry>
- <entry>getTranslation($value, 'territory', $locale)</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </sect3>
- </sect2>
- <sect2 id="migration.19.zend.view.helper.navigation">
- <title>Zend_View_Helper_Navigation</title>
- <para>
- Prior to the 1.9 release, the menu helper
- (<classname>Zend_View_Helper_Navigation_Menu</classname>) did not
- render sub menus correctly. When the <code>onlyActiveBranch</code>
- was <constant>TRUE</constant> and the option <code>renderParents</code>
- <constant>FALSE</constant>, nothing would be rendered if the deepest active
- page was at a depth lower than the <code>minDepth</code> option.
- </para>
- <para>
- In simpler words; if <code>minDepth</code> was set to <code>1</code>
- and the active page was at one of the first level pages, nothing
- would be rendered, as the following example shows.
- </para>
- <para>
- Consider the following container setup:
- </para>
- <programlisting language="php"><![CDATA[
- $container = new Zend_Navigation(array(
- array(
- 'label' => 'Home',
- 'uri' => '#'
- ),
- array(
- 'label' => 'Products',
- 'uri' => '#',
- 'active' => true,
- 'pages' => array(
- array(
- 'label' => 'Server',
- 'uri' => '#'
- ),
- array(
- 'label' => 'Studio',
- 'uri' => '#'
- )
- )
- ),
- array(
- 'label' => 'Solutions',
- 'uri' => '#'
- )
- ));
- ]]></programlisting>
- <para>
- The following code is used in a view script:
- </para>
- <programlisting language="php"><![CDATA[
- echo $this->navigation()->menu()->renderMenu($container, array(
- 'minDepth' => 1,
- 'onlyActiveBranch' => true,
- 'renderParents' => false
- ));
- ]]></programlisting>
- <para>
- Before release 1.9, the code snippet above would output nothing.
- </para>
- <para>
- Since release 1.9, the <methodname>_renderDeepestMenu()</methodname> method in
- <classname>Zend_View_Helper_Navigation_Menu</classname> will accept
- active pages at one level below <code>minDepth</code>, as long as
- the page has children.
- </para>
- <para>
- The same code snippet will now output the following:
- </para>
- <programlisting language="html"><![CDATA[
- <ul class="navigation">
- <li>
- <a href="#">Server</a>
- </li>
- <li>
- <a href="#">Studio</a>
- </li>
- </ul>
- ]]></programlisting>
- </sect2>
- </sect1>
|