A veces es necesario obtener información relacionada con una divisa.
Zend_Currency le proporciona varios métodos para obtener esta
información. Los métodos disponibles incluyen los siguientes:
getCurrencyList(): Devuelve una lista de todas las divisas que se usan en la región indicada como array. Por defecto usa la configuración regional del objeto cuando no se ha indicado ninguna región.getLocale(): Devuelve la configuración regional establecida para la divisa actual.getName(): Devuelve el nombre completo de la divisa actual. Cuando no hay un nombre completo disponible para la divisa actual, devolverá la abreviatura de la misma.getRegionList(): Devuelve una lista de todas las regiones donde se usa esta divisa como array. Por defecto usa la divisa del objeto cuando no se ha indicado ninguna divisa.getService(): Devuelve el objeto de servicio de cambio establecido para la divisa actual.getShortName(): Devuelve la abreviatura de la divisa actual.getSymbol(): Devuelve el símbolo de divisa correspondiente a la divisa. Cuando la divisa no tiene símbolo, devolverá la abreviatura de la misma.getValue(): Devuelve el valor establecido para la divisa actual.
Veamos algunos fragmentos de código como ejemplo:
$currency = new Zend_Currency();
var_dump($currency->getValue());
// returns 0
var_dump($currency->getRegionList());
// could return an array with all regions where USD is used
var_dump($currency->getRegionList('EUR'));
// returns an array with all regions where EUR is used
var_dump($currency->getName());
// could return 'US Dollar'
var_dump($currency->getName('EUR'));
// returns 'Euro'
Como puede ver, varios métodos permiten usar parámetros adicionales para sustituir el objeto actual y obtener información de otras divisas. Omitir estos parámetros devolverá información de la divisa actualmente establecida.
El rendimiento de Zend_Currency se puede optimizar usando
Zend_Cache. El método estático
Zend_Currency::setCache($cache) acepta una opción: un
adaptador de Zend_Cache. Si se establece el adaptador de caché, los
datos de localización que usa Zend_Currency se almacenarán en caché.
Además, existen algunos métodos estáticos para manipular la caché:
getCache(), hasCache(),
clearCache() y removeCache().
Ejemplo 25.6. Almacenamiento en caché de divisas
// creating a cache object
$cache = Zend_Cache::factory('Core',
'File',
array('lifetime' => 120,
'automatic_serialization' => true),
array('cache_dir'
=> dirname(__FILE__) . '/_files/'));
Zend_Currency::setCache($cache);