<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.currency.additional">
    <title>Zusätzliche Informationen für Zend_Currency</title>

    <sect2 id="zend.currency.additional.informations">
        <title>Währungsinformationen</title>

        <para>
            Manchmal ist es notwendig Informationen zu erhalten die sich auf eine Währung beziehen.
            <classname>Zend_Currency</classname> bietet verschiedene Methoden an um diese
            Informationen zu erhalten. Als vorhandenen Methoden sind die folgenden enthalten:
        </para>

        <itemizedlist mark='opencircle'>
            <listitem>
                <para>
                    <emphasis><methodname>getCurrencyList()</methodname></emphasis>: Gibt eine Liste
                    aller Währungen als Array zurück welche in einer angegebenen Region verwendet
                    werden. Wenn keine Region angegeben wurde ist der Standardwert das Gebietsschema
                    des Objekts.
                </para>
            </listitem>

            <listitem>
                <para>
                    <emphasis><methodname>getLocale()</methodname></emphasis>: Gibt das gesetzte
                    Gebietsschema für die aktuelle Währung zurück.
                </para>
            </listitem>

            <listitem>
                <para>
                    <emphasis><methodname>getName()</methodname></emphasis>: Gibt den kompletten
                    Namen für die aktuelle Währung zurück. Wenn für die aktuelle Währung kein
                    kompletter Name vorhanden ist, wird deren Abkürzung zurückgegeben.
                </para>
            </listitem>

            <listitem>
                <para>
                    <emphasis><methodname>getRegionList()</methodname></emphasis>: Gibt eine Liste
                    aller Regionen als Array zurück in denen diese Währung verwendet wird. Wenn
                    keine Währung angegeben wurde ist der Standardwert das Gebietsschema des
                    Objektes.
                </para>
            </listitem>

            <listitem>
                <para>
                    <emphasis><methodname>getService()</methodname></emphasis>: Gibt das, für die
                    aktuelle Währung gesetzte, Service zur Währungsumrechnung zurück.
                </para>
            </listitem>

            <listitem>
                <para>
                    <emphasis><methodname>getShortName()</methodname></emphasis>: Gibt die
                    Abkürzung für die aktuelle Währung zurück.
                </para>
            </listitem>

            <listitem>
                <para>
                    <emphasis><methodname>getSymbol()</methodname></emphasis>: Gibt das Zeichen für
                    die Währung zurück. Wenn die Währung kein Zeichen enthält, dann wird deren
                    Abkürzung zurückgegeben.
                </para>
            </listitem>

            <listitem>
                <para>
                    <emphasis><methodname>getValue()</methodname></emphasis>: Gibt den gesetzten
                    Wert für die aktuelle Währung zurück.
                </para>
            </listitem>
        </itemizedlist>

        <para>
            Schauen wir uns ein paar Codeabschnitte als Beispiel an:
        </para>

        <programlisting language="php"><![CDATA[
$currency = new Zend_Currency();

var_dump($currency->getValue());
// Gibt 0 zurück

var_dump($currency->getRegionList());
// Könnte ein Array mit allen Regionen zurückgeben in denen USD verwendet wird

var_dump($currency->getRegionList('EUR'));
// Gibt ein Array mit allen Regionen zurück in welchen EUR verwendet wird

var_dump($currency->getName());
// Könnte 'US Dollar' zurückgeben

var_dump($currency->getName('EUR'));
// Gibt 'Euro' zurück
]]></programlisting>

        <para>
            Wie man sehen kann erlauben verschiedene Methode die Verwendung von zusätzlichen
            Parametern welche das aktuelle Objekt überschreiben um Informationen für andere
            Währungen zu erhalten. Bei Unterdrückung dieser Parameter werden die Informationen
            von der aktuell gesetzten Währung zurückgegeben.
        </para>
    </sect2>

    <sect2 id="zend.currency.additional.cache">
        <title>Performance Optimierung für Währungen</title>

        <para>
            Die Performance von <classname>Zend_Currency</classname> kann durch Verwendung von
            <classname>Zend_Cache</classname> optimiert werden. Die statische Methode
            <methodname>Zend_Currency::setCache($cache)</methodname> akzeptiert eine Option: einen
            Adapter für <classname>Zend_Cache</classname>. Wenn der Cache Adapter gesetzt ist,
            werden die Daten der Lokalisierung welche von <classname>Zend_Currency</classname>
            verwendet werden, gecacht. Zusätzlich gibt es einige statische Methoden für die
            Manipulation des Caches: <methodname>getCache()</methodname>,
            <methodname>hasCache()</methodname>, <methodname>clearCache()</methodname> und
            <methodname>removeCache()</methodname>.
        </para>

        <example id="zend.currency.usage.cache.example">
            <title>Währungen cachen</title>

            <programlisting language="php"><![CDATA[
// Erstellung eines Cache Objekts
$cache = Zend_Cache::factory('Core',
                             'File',
                             array('lifetime' => 120,
                                   'automatic_serialization' => true),
                             array('cache_dir'
                                       => dirname(__FILE__) . '/_files/'));
Zend_Currency::setCache($cache);
]]></programlisting>
        </example>
    </sect2>
</sect1>
