Zend货币欧元与英语区域

时间:2011-06-10 14:06:23

标签: zend-framework zend-currency

我很可能完全不理解使用货币的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 £

并且没有改变货币的方法。

3 个答案:

答案 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