- Install module to your app from packagist
- Add bundle into kernel
$bundles = array(
...
new \RedCode\CurrencyRateBundle\RedCodeCurrencyRateBundle(),
...
);
3. Create Currency and CurrencyRate classes:
/**
* @ORM\Entity
*/
class Currency extends \RedCode\CurrencyRateBundle\Entity\Currency
{
/**
* @var int
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;
/**
* @var string
*/
protected $code;
}
/**
* @ORM\Entity
*/
class CurrencyRate extends \RedCode\CurrencyRateBundle\Entity\CurrencyRate
{
/**
* @var int
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;
/**
* @var \DateTime
*/
protected $date;
/**
* @var int
*/
protected $nominal;
/**
* @var float
*/
protected $rate;
/**
* @var \RedCode\Currency\ICurrency
* @ORM\ManyToOne(targetEntity="Currency")
* @ORM\JoinColumn(name="currency_id", referencedColumnName="id")
*/
protected $currency;
/**
* @var string
*/
protected $providerName;
}
4. Add section into config.yml file:
redcode_currency_rate:
currency_rate_class: NameSpasePath\CurrencyRate
currency_class: NameSpasePath\Currency
5. Just run the commands:
a. To create base currencies:
./app/console redcode:create:base:currencies
b. To create load currency rates:
./app/console redcode:currency:rate:load
6. And now, you can call currency rate converter by name - redcode.currency.rate.converter
$converter = $container->get('redcode.currency.rate.converter');
$convertedValue = $converter->convert('USD', 'EUR', $value);
Pull requests are welcome. Please see our CONTRIBUTING guide.