# Informations complémentaires pour Zend_Currency

## Informations sur les monnaies

Il peut être utilie de récupérer des données concernant une monnaie. `Zend_Currency` propose différentes méthodes dans ce but dont voici une liste:

- `getCurrencyList()`: Retourne un tableau listant toutes les monnaies utilisées dans une région donnée. La locale par défaut est utilisée si aucune information de région n'est fournie.

- `getLocale()`: Retourne la locale utilisée actuellement pour la monnaie.

- `getName()`: Retourne le nom complet de la monnaie actuelle. Si aucun nom complet n'est trouvé, l'abbréviation sera retournée.

- `getRegionList()`: Retourne un tableau de toutes les régions où est utilisée la monnaie actuelle. Toutes les régions sont listées si aucune monnaie n'a été donnée.

- `getService()`: Retourne l'objet de service d'échange de la monnaie courante.

- `getShortName()`: Retourne l'abbréviation de la monnaie courante.

- `getSymbol()`: Retourne le symbole de la monnaie. Si aucun symbole n'existe, l'abbréviation de la monnaie sera retournée.

- `getValue()`: Retourne la valeur affectée à la monnaie en cours.

Voyons quelques exemples:

    $currency = new Zend_Currency();

    var_dump($currency->getValue());
    // retourne 0

    var_dump($currency->getRegionList());
    // retourne un tableau représentant toutes les régions dans lesquelles USD est utilisé

    var_dump($currency->getRegionList('EUR'));
    // retourne un tableau avec toutes les régions utilisant l'EUR

    var_dump($currency->getName());
    // pourrait retourner 'US Dollar'

    var_dump($currency->getName('EUR'));
    // Retourne 'Euro'

Comme vous le voyez, beaucoup de méthodes prennent des paramètres supplémentaires pour surcharger l'objet actuel et le faire travailler sur une autre monnaie que celle stockée en interne.

## Optimisation des performances des monnaies

Les performances de `Zend_Currency` peuvent être optimisées au moyen de `Zend_Cache`. La méthode statique `Zend_Currency::setCache($cache)` prend une options : un adaptateur `Zend_Cache`. S'il est utilisé, les données de localisation utilisées au sein de `Zend_Currency` seront mises en cache. Aussi, il y a des méthodes statiques pour manipuler le cache : `getCache()`, `hasCache()`, `clearCache()` et `removeCache()`.

### Mettre les monnaies en cache

    // Création d'un objet de cache
    $cache = Zend_Cache::factory('Core',
                                 'File',
                                 array('lifetime' => 120,
                                       'automatic_serialization' => true),
                                 array('cache_dir'
                                           => dirname(__FILE__) . '/_files/'));
    Zend_Currency::setCache($cache);