<?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<!-- EN-Revision: 15103 -->
<sect1 id="zend.currency.migration">

    <title>以前のバージョンからの移行</title>

    <para>
        <classname>Zend_Currency</classname> の API は、利便性を考慮して変更されました。
        ここで説明しているバージョンの <classname>Zend_Currency</classname>
        を使用していた方は、以下の手順にしたがって移行作業を行い、
        スクリプトを新しい API に対応させてください。
    </para>

    <sect2 id="zend.currency.usage.migration.fromonezerotwo">

        <title>1.0.2 から 1.0.3 以降への移行</title>

        <para>
            <classname>Zend_Currency</classname> のオブジェクトを、
            よりシンプルに作成できるようになりました。
            script パラメータを指定したり null に設定したりする必要がなくなったのです。
            script パラメータはオプションとなり、後で
            <code>setFormat()</code> メソッドで指定できるようになりました。
        </para>

        <programlisting role="php"><![CDATA[
$currency = new Zend_Currency($currency, $locale);
]]>
        </programlisting>

        <para>
            <code>setFormat()</code> メソッドには、オプションの配列を渡せるようになりました。
            このオプションはそれ以降もずっと有効で、
            それまでに設定されていた値を上書きします。
            また、新たなオプション 'precision' が組み込まれました。
            現在使用できるオプションは次のとおりです。

            <itemizedlist mark='opencircle'>
                <listitem>
                    <para>
                        <emphasis role="strong">position</emphasis>:
                        以前の 'rules' パラメータを置き換えるものです。
                    </para>
                </listitem>
                <listitem>
                    <para>
                        <emphasis role="strong">script</emphasis>:
                        以前の 'script' パラメータを置き換えるものです。
                    </para>
                </listitem>
                <listitem>
                    <para>
                        <emphasis role="strong">format</emphasis>:
                        以前の 'locale' パラメータを置き換えるものです。
                        これは新しい通貨を設定するのではなく、
                        数値フォーマットのみを設定します。
                    </para>
                </listitem>
                <listitem>
                    <para>
                        <emphasis role="strong">display</emphasis>:
                        以前の 'rules' パラメータを置き換えるものです。
                    </para>
                </listitem>
                <listitem>
                    <para>
                        <emphasis role="strong">precision</emphasis>:
                        新しいパラメータです。
                    </para>
                </listitem>
                <listitem>
                    <para>
                        <emphasis role="strong">name</emphasis>:
                        以前の 'rules' パラメータを置き換えるものです。
                        完全な通貨名を指定します。
                    </para>
                </listitem>
                <listitem>
                    <para>
                        <emphasis role="strong">currency</emphasis>:
                        新しいパラメータです。
                    </para>
                </listitem>
                <listitem>
                    <para>
                        <emphasis role="strong">symbol</emphasis>:
                        新しいパラメータです。
                    </para>
                </listitem>
            </itemizedlist>

        </para>

        <programlisting role="php"><![CDATA[
$currency->setFormat(array $options);
]]>
        </programlisting>

        <para>
            <code>toCurrency()</code> メソッドは、オプションのパラメータ
            'script' および 'locale' をサポートしなくなりました。
            その代わりにオプションの配列を受け付けるようになります。
            この配列に含めることのできるキーは <code>setFormat</code>
            メソッドと同じです。
        </para>

        <programlisting role="php"><![CDATA[
$currency->toCurrency($value, array $options);
]]>
        </programlisting>

        <para>
            <code>getSymbol()</code> や <code>getShortName()</code>、
            <code>getName()</code>、<code>getRegionList()</code> そして
            <code>getCurrencyList()</code> メソッドはスタティックではなくなりました。
            オブジェクトからコールすることができます。
            パラメータを設定しなかった場合は、
            これらのメソッドはそのオブジェクトに設定されている値を返します。
        </para>

    </sect2>

</sect1>
