Utiliser Zend_Currency
Utilisation de base
La manière la plus simple consiste à se reposer sur la locale de l'utilisateur. Lorsque vous créez
une instance de Zend_Currency sans préciser d'options, la locale du client sera alors
utilisée.
Créer une monnaie avec les paramètres du client
Imaginons un client dont la locale est "en_US" dans son navigateur. Dans ce cas,
Zend_Currency détectera automatiquement la monnaie à utiliser.
L'objet crée va alors contenir une monnaie "US Dollar" car il s'agit de la monnaie affectée
aux USA. D'autres options ont aussi été affectées comme le signe "$" ou l'abbréviation
"USD".
La détection automatique par locale ne fonctionne pas toujours
La détection automatique par locale ne fonctionne pas toujours car
Zend_Currency nécessite une locale incluant la région. Si le client
utilise une locale courte ("en"), Zend_Currency ne sait pas quelle
région parmi les 30 possibles choisir. Une exception sera alors levée.
Un client peut aussi déregler la locale dans son navigateur, ou la supprimer. Ainsi le paramètre
de l'environnement sera alors utilisé pour la locale, ce qui peut mener à des comportements non
attendus ou des exceptions.
Créer une monnaie basée sur une locale
Pour éviter ce genre de problème, précisez manuellement la locale à utiliser.
'en_US'));
// Voir la monnaie avec les paramètres actuels fixés à 'en_US'
// var_dump($currency);
]]>
Dans l'exemple ci-dessus, nous ne sommes plus dépendant du client.
Zend_Currency supporte aussi l'utilisation d'une locale globale.
Mettez une instance de Zend_Locale dans le registre comme montré
ci-après. Dans un tel cas, l'option locale n'est plus obligatoire pour chaque instance
et la même locale sera utilisée partout, tout le temps.