我很可能完全不理解使用货币的Zend方法。
我想要做的是拥有一个Zend_Currency对象,其中活动货币为EURO,语言为英语(应用程序的语言环境为en_GB)。 Zend_Currency连接到一个语言环境,如果创建一个带有英语语言环境的Zend_Currency,我就不能拥有EUR。
我也试过这个
$this->currency = new Zend_Currency(array('currency' => 'EUR'), "en_GB");
但如果我试着
echo $this->currency->getSymbol(); // I get £
并且没有改变货币的方法。
答案 0 :(得分:2)
这有效:
$this->currency = new Zend_Currency('en_GB');
$this->currency->setFormat(array('currency' => 'EUR', 'name' =>'EUR', 'symbol' => '€'));
答案 1 :(得分:2)
我扩展了Zend_Currency
并覆盖了getName()
和getSymbol()
方法,以便它们(当{1}}时语言环境发生变化,我们不想要它们。每次我提出请求时,都会从Zend_Currency
返回“新鲜”数据。
在下面的示例类中,您可以创建Zend_Locale_Data
的实例,并将'currency'选项设置为任何有效货币(例如欧元,美元等),同时保持相同的区域设置。
Default_Model_Currency()
答案 2 :(得分:-2)
这似乎有效: -
$currency = new Zend_Currency();
$currency->setFormat(array('currency' => 'EUR', 'symbol' => '€'));
您可以传递getFormat()数组来设置这样的选项。 http://framework.zend.com/manual/en/zend.currency.options.html