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

    <title>Migration von vorhergehenden Versionen</title>

    <para>
        Die API von <classname>Zend_Currency</classname> wurde in der Vergangenheit verändert
        um die Usability zu verbessern. Wenn <classname>Zend_Currency</classname> schon mit einer
        Version verwendet wurde die in diesem Kapitel erwähnt wird sollte den
        unten stehenden Anweisungen gefolgt werden um die eigenen Skripte zur neuen
        API zu migrieren.
    </para>

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

        <title>Von 1.0.2 zu 1.0.3 oder neuer migrieren</title>

        <para>
            Die Erstellung von <classname>Zend_Currency</classname> wurde vereinfacht.
            Es muß nicht länger ein Skript angegeben oder auf null gesetzt werden.
            Der optionale script Parameter ist jetzt eine Option welche durch die
            <code>setFormat()</code> Methode gesetzt werden kann.
        </para>

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

        <para>
            Die <code>setFormat()</code> Methode nimmt jetzt ein Array von Optionen. Diese Optionen
            werden permanent gesetzt und überschreiben alle vorher gesetzten Werte. Auch eine neue
            Option 'precision' wurde integriert. Die folgenden Optionen wurden überarbeitet:

            <itemizedlist mark='opencircle'>
                <listitem>
                    <para>
                        <emphasis>position</emphasis>:
                        Ersetzt den alten 'rules' Parameter.
                    </para>
                </listitem>
                <listitem>
                    <para>
                        <emphasis>script</emphasis>:
                        Ersetzt den alten 'script' Parameter.
                    </para>
                </listitem>
                <listitem>
                    <para>
                        <emphasis>format</emphasis>:
                        Ersetzt den alten 'locale' Parameter welcher keine neue Währung, sondern
                        nur das Format der Nummern setzt.
                    </para>
                </listitem>
                <listitem>
                    <para>
                        <emphasis>display</emphasis>:
                        Ersetzt den alten 'rules' Parameter.
                    </para>
                </listitem>
                <listitem>
                    <para>
                        <emphasis>precision</emphasis>:
                        Neuer Parameter.
                    </para>
                </listitem>
                <listitem>
                    <para>
                        <emphasis>name</emphasis>:
                        Ersetzt den alten 'rules' Parameter. Setzt den vollständigen Namen der Währung.
                    </para>
                </listitem>
                <listitem>
                    <para>
                        <emphasis>currency</emphasis>:
                        Neuer Parameter.
                    </para>
                </listitem>
                <listitem>
                    <para>
                        <emphasis>symbol</emphasis>:
                        Neuer Parameter.
                    </para>
                </listitem>
            </itemizedlist>

        </para>

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

        <para>
            Die <code>toCurrency()</code> Methode unterstützt die optionalen 'script' und 'locale' Parameter
            nicht mehr. Stattdessen nimmt sie ein Array von Optionen welche die selben Schlüssel enthalten
            können wie die <code>setFormat</code> Methode.
        </para>

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

        <para>
            Die Methoden <code>getSymbol()</code>, <code>getShortName()</code>, <code>getName()</code>,
            <code>getRegionList()</code> und <code>getCurrencyList()</code> sind nicht länger statisch
            und können vom Objekt aus aufgerufen werden. Die geben den aktuell gesetzten Wert des Objekts
            zurück wenn kein Parameter gesetzt wurde.
        </para>

    </sect2>

</sect1>
