redcode/currency-rate-bundle

Symfony2 currency rate bundle, allows convert currencies and load rates via cbr or ecb provider

Installs: 328

Dependents: 0

Stars: 2

Watchers: 1

Open Issues: 1

Language: PHP

0.2.0 2013-12-09 11:27 UTC

README

Steps to start

  1. Install module to your app from packagist
  2. 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 command and get 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);