📄 currency.php
字号:
if (($currency === null) and ($locale === null)) { return $this->_options['symbol']; } $params = self::_checkParams($currency, $locale); //get the symbol $symbol = Zend_Locale_Data::getContent($params['locale'], 'currencysymbol', $params['currency']); if (empty($symbol)) { $symbol = Zend_Locale_Data::getContent($params['locale'], 'currencysymbol', $params['name']); } if (empty($symbol)) { return null; } return $symbol; } /** * Returns the actual or details of other currency shortnames * * @param string $currency OPTIONAL Currency's name * @param string|Zend_Locale $locale OPTIONAL the locale * @return string * @throws Zend_Currency_Exception */ public function getShortName($currency = null, $locale = null) { if (($currency === null) and ($locale === null)) { return $this->_options['currency']; } $params = self::_checkParams($currency, $locale); //get the shortname if (empty($params['currency'])) { return $params['name']; } $list = Zend_Locale_Data::getContent($params['locale'], 'currencytoname', $params['currency']); if (empty($list)) { $list = Zend_Locale_Data::getContent($params['locale'], 'nametocurrency', $params['currency']); if (!empty($list)) { $list = $params['currency']; } } if (empty($list)) { return null; } return $list; } /** * Returns the actual or details of other currency names * * @param string $currency OPTIONAL Currency's short name * @param string|Zend_Locale $locale OPTIONAL the locale * @return string * @throws Zend_Currency_Exception */ public function getName($currency = null, $locale = null) { if (($currency === null) and ($locale === null)) { return $this->_options['name']; } $params = self::_checkParams($currency, $locale); //get the name $name = Zend_Locale_Data::getContent($params['locale'], 'nametocurrency', $params['currency']); if (empty($name)) { $name = Zend_Locale_Data::getContent($params['locale'], 'nametocurrency', $params['name']); } if (empty($name)) { return null; } return $name; } /** * Returns a list of regions where this currency is or was known * * @param string $currency OPTIONAL Currency's short name * @return array List of regions */ public function getRegionList($currency = null) { if ($currency === null) { $currency = $this->_options['currency']; } if (empty($currency)) { require_once 'Zend/Currency/Exception.php'; throw new Zend_Currency_Exception("No currency defined"); } $data = Zend_Locale_Data::getContent('', 'regiontocurrency', $currency); $result = explode(' ', $data); return $result; } /** * Returns a list of currencies which are used in this region * a region name should be 2 charachters only (f.e. EG, DE, US) * If no region is given, the actual region is used * * @param string $region OPTIONAL Region to return the currencies for * @return array List of currencies */ public function getCurrencyList($region = null) { if (empty($region)) { if (strlen($this->_locale) > 4) { $region = substr($this->_locale, strpos($this->_locale, '_')+1 ); } } return Zend_Locale_Data::getList('', 'regiontocurrency', $region); } /** * Returns the actual currency name * * @return string */ public function toString() { return !empty($this->_options['name']) ? $this->_options['name'] : $this->_options['currency']; } /** * Returns the currency name * * @return string */ public function __toString() { return $this->toString(); } /** * sets a cache for Zend_Currency * * @param Zend_Cache_Core $cache Cache to set */ public static function setCache(Zend_Cache_Core $cache) { Zend_Locale_Data::setCache($cache); } /** * Sets a new locale for data retreivement * Returned is the really set locale. * Example: 'de_XX' will be set to 'de' because 'de_XX' does not exist * 'xx_YY' will be set to 'root' because 'xx' does not exist * * @param string|Zend_Locale $locale OPTIONAL Locale for parsing input * @return string */ public function setLocale($locale = null) { if ($locale instanceof Zend_Locale) { $this->_locale = $locale->toString(); } else if (!$this->_locale = Zend_Locale::isLocale($locale, true)) { require_once 'Zend/Currency/Exception.php'; throw new Zend_Currency_Exception("Given locale ($locale) does not exist"); } // get currency details $this->_options['currency'] = $this->getShortName(null, $this->_locale); $this->_options['name'] = $this->getName (null, $this->_locale); $this->_options['symbol'] = $this->getSymbol (null, $this->_locale); return $this->getLocale(); } /** * Returns the actual set locale * * @return string */ public function getLocale() { return $this->_locale; } /** * Internal method for checking the options array * * @param array $options * @return array * @throws Zend_Currency_Exception */ private function checkOptions(array $options = array()) { if (count($options) == 0) { return $this->_options; } foreach($options as $name => $value) { $name = strtolower($name); if ($name !== 'format') { if (gettype($value) === 'string') { $value = strtolower($value); } } if (array_key_exists($name, $this->_options)) { switch($name) { case 'position' : if (($value !== self::STANDARD) and ($value !== self::RIGHT) and ($value !== self::LEFT)) { require_once 'Zend/Currency/Exception.php'; throw new Zend_Currency_Exception("Unknown position '" . $value . "'"); } if ($value === self::STANDARD) { $options['position'] = $this->_updateFormat(); } break; case 'format' : if (!empty($value) && (!Zend_Locale::isLocale($value))) { require_once 'Zend/Currency/Exception.php'; throw new Zend_Currency_Exception("'" . (gettype($value) === 'object' ? get_class($value) : $value) . "' is not a known locale."); } break; case 'display' : if (is_numeric($value) and ($value !== self::NO_SYMBOL) and ($value !== self::USE_SYMBOL) and ($value !== self::USE_SHORTNAME) and ($value !== self::USE_NAME)) { require_once 'Zend/Currency/Exception.php'; throw new Zend_Currency_Exception("Unknown display '$value'"); } break; case 'precision' : if ($value === NULL) { $value = -1; } if (($value < -1) || ($value > 30)) { require_once 'Zend/Currency/Exception.php'; throw new Zend_Currency_Exception("'$value' precision has to be between -1 and 30."); } break; case 'script' : try { Zend_Locale_Format::convertNumerals(0,$options['script']); } catch (Zend_Locale_Exception $e) { require_once 'Zend/Currency/Exception.php'; throw new Zend_Currency_Exception($e->getMessage()); } break; } } else { require_once 'Zend/Currency/Exception.php'; throw new Zend_Currency_Exception("Unknown option: '$name' = '$value'"); } } return $options; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -