bigoen / currency-api-bundle
Currency api bundle for Symfony project.
Installs: 167
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=8.2
- doctrine/doctrine-bundle: ^2.0
- nesbot/carbon: ^2.72
- symfony/http-client: ^6.0|^7.0
- symfony/string: ^6.0|^7.0
- symfony/validator: ^6.0|^7.0
README
This Symfony bundle provides integration with the Currency Beacon API, allowing you to fetch and manage currency data within your Symfony application.
Installation
- Install the bundle using Composer:
composer require bigoen/currency-api-bundle
- Enable the bundle in your
config/bundles.php
file:
return [ // ... Bigoen\CurrencyApiBundle\BigoenCurrencyApiBundle::class => ['all' => true], ];
Configuration
Add the following environment variables to your .env
file:
###> bigoen/currency-api-bundle ### CURRENCY_BEACON_API_KEY=your_api_key_here ###< bigoen/currency-api-bundle ###
Usage
To use the Currency API service, you can inject it into your services or use it manually:
Commands
This bundle provides commands to manage currency data:
-
To update currencies, use:
php bin/console exchange-rate:currency-beacon:currency-update
-
To fetch the latest or historical daily exchange rates, use:
php bin/console exchange-rate:currency-beacon:daily-update
Alternatively, you can use the CurrencyBeaconService
directly in your code:
-
To update currencies manually, use the
updateCurrencies
method:$currencyBeaconService->updateCurrencies();
-
To update daily exchange rates manually, use the
updateDailyExchangeRates
method:$currencyBeaconService->updateDailyExchangeRates();
To query daily exchange rates by date and currency, you can use the DailyExchangeRateRepository
:
- Example query:
$repository = $entityManager->getRepository(DailyExchangeRate::class); $exchangeRate = $repository->findOneBy(['date' => $date, 'currency' => $currency]); $amount = $repository->convert('TRY', 'EUR', Carbon::now(), 500);
License
This bundle is released under the MIT License. See the bundled LICENSE
file for details.