Zend_Locale-Migration.xml 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <!-- EN-Revision: 13584 -->
  2. <sect1 id="zend.locale.migration">
  3. <title>Migrer à partir des versions précédentes</title>
  4. <para>L'API de <classname>Zend_Locale</classname> a changé au cours du temps. Si vous avez commencé à utiliser
  5. <classname>Zend_Locale</classname> et ses sous-composants avec les versions précédentes, suivez les lignes directrices
  6. ci-dessous pour migrer vos scripts et ainsi utiliser la nouvelle API.</para>
  7. <sect2 id="zend.locale.migration.fromonesixtooneseven">
  8. <title>Migrer de la version 1.6 vers 1.7 ou plus récent</title>
  9. <sect3 id="zend.locale.migration.fromonesixtooneseven.islocale">
  10. <title>Changement dans l'utilisation de isLocale()</title>
  11. <para>Conformément aux standards de codage <code>isLocale()</code> a été changé pour retourner un booléen.
  12. Dans les versions précédentes une chaîne était retournée lors du succès. Pour la version 1.7 un mode de
  13. compatibilité a été ajouté qui vous permet d'utiliser l'ancien comportement (avec une chaîne retournée),
  14. mais ceci émet un warning pour vous informer de changer vers le nouveau comportement. Le reroutage que
  15. l'ancien comportement de <code>isLocale()</code> pouvait avoir à faire n'est plus nécessaire car tous les
  16. composants de l'I18N traiteront maintenant eux-mêmes le reroutage.</para>
  17. <para>Pour migrer vos scripts vers la nouvelle API, utilisez simplement la méthode décrite
  18. ci-dessous.</para>
  19. <example id="zend.locale.migration.fromonesixtooneseven.example">
  20. <title>Comment changer l'appel de isLocale() de 1.6 vers 1.7 ?</title>
  21. <programlisting role="php"><![CDATA[
  22. // Exemple pour ZF 1.6
  23. if ($locale = Zend_Locale::isLocale($locale)) {
  24. // faire qqch
  25. }
  26. // Même exemple pour ZF 1.7
  27. // Vous devez changer le mode de compatibilité pour empêcher l'émission de warning
  28. // Mais ceci peut être fait dans votre bootstrap
  29. Zend_Locale::$compatibilityMode = false;
  30. if (Zend_Locale::isLocale($locale)) {
  31. }
  32. ]]></programlisting>
  33. <para>Notez que vous pouvez utiliser le second paramètre pour voir si la locale est correcte sans
  34. nécessiter de reroutage.</para>
  35. <programlisting role="php"><![CDATA[
  36. // Exemple pour ZF 1.6
  37. if ($locale = Zend_Locale::isLocale($locale, false)) {
  38. // do something
  39. }
  40. // Même exemple pour ZF 1.7
  41. // Vous devez changer le mode de compatibilité pour empêcher l'émission de warning
  42. // Mais ceci peut être fait dans votre bootstrap
  43. Zend_Locale::$compatibilityMode = false;
  44. if (Zend_Locale::isLocale($locale, false)) {
  45. if (Zend_Locale::isLocale($locale, true)) {
  46. // pas de locale du tout
  47. }
  48. // original string is no locale but can be rerouted
  49. }
  50. ]]></programlisting>
  51. </example>
  52. </sect3>
  53. <sect3 id="zend.locale.migration.fromonesixtooneseven.getdefault">
  54. <title>Changement dans l'utilisation de getDefault()</title>
  55. <para>La signification de la méthode <code>getDefault()</code> a été changé étant donné que nous avons
  56. intégré une locale de framework qui peut être paramétrée avec <code>setDefault()</code>. Ceci ne renvoie
  57. plus la chaîne de la locale mais seulement la locale du framework.</para>
  58. <para>Pour migrer vos scripts vers la nouvelle API, utilisez simplement la méthode décrite
  59. ci-dessous.</para>
  60. <example id="zend.locale.migration.fromonesixtooneseven.getdefault.example">
  61. <title>Comment changer l'appel de getDefaut() de 1.6 vers 1.7 ?</title>
  62. <programlisting role="php"><![CDATA[
  63. // Exemple pour ZF 1.6
  64. $locales = $locale->getDefault(Zend_Locale::BROWSER);
  65. // Même exemple pour ZF 1.7
  66. // Vous devez changer le mode de compatibilité pour empêcher l'émission de warning
  67. // Mais ceci peut être fait dans votre bootstrap
  68. Zend_Locale::$compatibilityMode = false;
  69. $locale = Zend_Locale::getOrder(Zend_Locale::BROWSER);
  70. ]]></programlisting>
  71. <para>Notez que le second paramètre de l'ancienne implémentation de <code>getDefault()</code> n'est plus
  72. disponible non plus, mais les valeurs retournées sont les mêmes.</para>
  73. </example>
  74. <note>
  75. <para>Par défaut l'ancien comportement est toujours actif, mais émet un warning. Quand vous avez changé
  76. votre code vers le nouveau comportement, vous devriez aussi changer le mode de compatibilité à
  77. <code>false</code> ainsi aucun nouveau warning ne sera émis.</para>
  78. </note>
  79. </sect3>
  80. </sect2>
  81. </sect1>