This library shows an efficient way to work with currencies and currency rates form Central Bank of Russia, European Central Bank, and Yahoo Finance. It contains base classes and interfaces which hide logic about loading currency rates, one of the most useful implementation is Symfony2 bundle.
You can easily install it with composer by command:
composer require redcode/currency-rate
First of all you need to implement services ICurrencyRateManager, ICurrencyManager. Then DTO or Entity objects Currency and CurrencyRate.
After that create and configure currencyConverter:
use RedCode\Currency\Rate;
// we have initialized $currencyRateManager and $currencyManager
$providerFactory = new Provider\ProviderFactory();
$providerFactory->addProvider(
new Provider\EcbCurrencyRateProvider`(
$currencyRateManager,
$currencyManager
)
);
$converter = new CurrencyConverter(
$providerFactory,
$currencyRateManager,
$currencyManager
);
$convertedValue = $converter->convert('USD', 'GBP', 100);
To run tests use command below:
./tests/runTests.sh
Pull requests are welcome. Please see our CONTRIBUTING guide.