waylandace / currency-rate-bundle
Symfony4 currency rate bundle, allows convert currencies and load rates via cbr or ecb provider
This package's canonical repository appears to be gone and the package has been frozen as a result.
Installs: 183
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 5
Type:symfony-bundle
Requires
- php: >=7.0.0
- doctrine/dbal: >=2.3.2
- doctrine/orm: >=2.3.2
- redcode/currency-rate: 0.2.*
- symfony/console: ^4.0
- symfony/event-dispatcher: ^4.0
- symfony/framework-bundle: ^4.0
Requires (Dev)
- phpunit/phpunit: ^4.8
- satooshi/php-coveralls: ^0.6.1
README
Steps to start
- 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);
Contribute
Pull requests are welcome. Please see our CONTRIBUTING guide.