# Zusätzliche Informationen für Zend_Currency

## Währungsinformationen

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

- getCurrencyList(): 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.

- getLocale(): Gibt das gesetzte Gebietsschema für die aktuelle Währung zurück.

- getName(): 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.

- getRegionList(): 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.

- getService(): Gibt das, für die aktuelle Währung gesetzte, Service zur Währungsumrechnung zurück.

- getShortName(): Gibt die Abkürzung für die aktuelle Währung zurück.

- getSymbol(): 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.

- getValue(): Gibt den gesetzten Wert für die aktuelle Währung zurück.

Schauen wir uns ein paar Codeabschnitte als Beispiel an:

    $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

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.

## Performance Optimierung für Währungen

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

Währungen cachen

    // 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);