<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.currency.additional">
    <title>Informations complémentaires pour Zend_Currency</title>

    <sect2 id="zend.currency.additional.informations">
        <title>Informations sur les monnaies</title>

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

        <itemizedlist mark='opencircle'>
            <listitem>
                <para>
                    <emphasis><methodname>getCurrencyList()</methodname></emphasis>: 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.
                </para>
            </listitem>

            <listitem>
                <para>
                    <emphasis><methodname>getLocale()</methodname></emphasis>: Retourne la locale utilisée actuellement
                    pour la monnaie.
                </para>
            </listitem>

            <listitem>
                <para>
                    <emphasis><methodname>getName()</methodname></emphasis>: Retourne le nom complet de la monnaie
                    actuelle. Si aucun nom complet n'est trouvé, l'abbréviation sera retournée.
                </para>
            </listitem>

            <listitem>
                <para>
                    <emphasis><methodname>getRegionList()</methodname></emphasis>: 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.
                </para>
            </listitem>

            <listitem>
                <para>
                    <emphasis><methodname>getService()</methodname></emphasis>: Retourne l'objet de service d'échange
                    de la monnaie courante.
                </para>
            </listitem>

            <listitem>
                <para>
                    <emphasis><methodname>getShortName()</methodname></emphasis>: Retourne l'abbréviation de la monnaie
                    courante.
                </para>
            </listitem>

            <listitem>
                <para>
                    <emphasis><methodname>getSymbol()</methodname></emphasis>: Retourne le symbole de la monnaie. Si aucun
                    symbole n'existe, l'abbréviation de la monnaie sera retournée.
                </para>
            </listitem>

            <listitem>
                <para>
                    <emphasis><methodname>getValue()</methodname></emphasis>: Retourne la valeur affectée à la monnaie en cours.
                </para>
            </listitem>
        </itemizedlist>

        <para>
            Voyons quelques exemples:
        </para>

        <programlisting language="php"><![CDATA[
$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'
]]></programlisting>

        <para>
            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.
        </para>
    </sect2>

    <sect2 id="zend.currency.additional.cache">
        <title>Optimisation des performances des monnaies</title>

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

        <example id="zend.currency.usage.cache.example">
            <title>Mettre les monnaies en cache</title>

            <programlisting language="php"><![CDATA[
// 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);
]]></programlisting>
        </example>
    </sect2>
</sect1>
