Exchanging currenciesWithin the previous section we discussed currency calculations. But as you can imaging calculating currencies does often mean to calculate different currencies from different countries. In this case the currencies have to be exchanged so that both use the same currency. Within real live this information is available by banks or by daily papers. But as we are in web, we should use available exchange services. Zend_Currency allows their usage with a simple callback. First let's write a simple exchange service.
We have now created a manual exchange service. It will not fit the real live, but it shows you how currency exchange works. Your exchange class must implement the Zend_Currency_CurrencyInterface interface. This interface requires the single method getRate() to be implemented. This method has two parameters it will receive. Both are the short names for the given currencies. Zend_Currency on the other side needs the exchange rate to be returned. In a living exchange class you would probably ask the service provider for the correct exchange rates. For our example the manual rate will be ok. Now we will simply attach our exchange class with Zend_Currency. There are two ways to do this. Eigher by attaching a instance of the Exchange class, or by simply giving a string with the classname.
The above example will return '$ 3.000' because the 1.000 USD will be converted by a rate of 2 to 2.000 EUR.
|
|