| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <sect1 id="zend.locale.migration">
- <title>Migrating from previous versions</title>
- <para>
- The API of <classname>Zend_Locale</classname> has changed from time to time.
- If you started to use <classname>Zend_Locale</classname> and its subcomponents
- in earlier versions follow the guidelines below to migrate your scripts to
- use the new API.
- </para>
- <sect2 id="zend.locale.migration.fromonesixtooneseven">
- <title>Migrating from 1.6 to 1.7 or newer</title>
- <sect3 id="zend.locale.migration.fromonesixtooneseven.islocale">
- <title>Changes when using isLocale()</title>
- <para>
- According to the coding standards isLocale() had to be changed to return
- a boolean. In previous releases a string was returned on success. For
- release 1.7 a compatibility mode has been added which allows to use the
- old behaviour of a returned string, but it triggers a user warning to
- mention you to change to the new behaviour. The rerouting which the old
- behaviour of isLocale() could have done is no longer neccessary as all
- I18N will now process a rerouting themself.
- </para>
- <para>
- To migrate your scripts to the new API, simply use the method as shown below.
- </para>
- <example id="zend.locale.migration.fromonesixtooneseven.example">
- <title>How to change isLocale() from 1.6 to 1.7</title>
- <programlisting role="php"><![CDATA[
- // Example for 1.6
- if ($locale = Zend_Locale::isLocale($locale)) {
- // do something
- }
- // Same example for 1.7
- // You should change the compatiblity mode to prevent user warnings
- // But you can do this in your bootstrap
- Zend_Locale::$compatibilityMode = false;
- if (Zend_Locale::isLocale($locale)) {
- }
- ]]></programlisting>
- <para>
- Note that you can use the second parameter to see if the locale is correct without
- processing a rerouting.
- </para>
- <programlisting role="php"><![CDATA[
- // Example for 1.6
- if ($locale = Zend_Locale::isLocale($locale, false)) {
- // do something
- }
- // Same example for 1.7
- // You should change the compatiblity mode to prevent user warnings
- // But you can do this in your bootstrap
- Zend_Locale::$compatibilityMode = false;
- if (Zend_Locale::isLocale($locale, false)) {
- if (Zend_Locale::isLocale($locale, true)) {
- // no locale at all
- }
- // original string is no locale but can be rerouted
- }
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.locale.migration.fromonesixtooneseven.getdefault">
- <title>Changes when using getDefault()</title>
- <para>
- The meaning of the getDefault() method has been change due to the fact that we
- integrated a framework locale which can be set with setDefault(). It does no
- longer return the locale chain but only the set framework locale.
- </para>
- <para>
- To migrate your scripts to the new API, simply use the method as shown below.
- </para>
- <example id="zend.locale.migration.fromonesixtooneseven.getdefault.example">
- <title>How to change getDefault() from 1.6 to 1.7</title>
- <programlisting role="php"><![CDATA[
- // Example for 1.6
- $locales = $locale->getDefault(Zend_Locale::BROWSER);
- // Same example for 1.7
- // You should change the compatiblity mode to prevent user warnings
- // But you can do this in your bootstrap
- Zend_Locale::$compatibilityMode = false;
- $locale = Zend_Locale::getOrder(Zend_Locale::BROWSER);
- ]]></programlisting>
- <para>
- Note that the second parameter of the old getDefault() implementation is not
- available anymore, but the returned values are the same.
- </para>
- </example>
- <note>
- <para>
- Per default the old behaviour is still active, but throws a user warning.
- When you have changed your code to the new behaviour you should also change
- the compatibility mode to false so that no warning is thrown anymore.
- </para>
- </note>
- </sect3>
- </sect2>
- </sect1>
|