Lib for loading currency rates
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src/RedCode/Currency
tests
.gitignore
.php_cs
.travis.yml
CONTRIBUTING.md
README.md
composer.json
phpunit.xml

README.md

Currency Rates converter library Latest Stable Version Total Downloads

Build Status Code Coverage Scrutinizer Code Quality SensioLabsInsight Dependency Status

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.

Installing

Composer

You can easily install it with composer by command:

composer require redcode/currency-rate

Documentation

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);

Tests

To run tests use command below:

./tests/runTests.sh

Contribute

Pull requests are welcome. Please see our CONTRIBUTING guide.