TigerZF
🌐Español

25.10. Información adicional sobre Zend_Currency

25.10.1. Información de la divisa

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.

25.10.2. Optimización del rendimiento de Currency

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