bigoen / currency-api-bundle
Currency api bundle for Symfony project.
Package info
github.com/bigoen/currency-api-bundle
Type:symfony-bundle
pkg:composer/bigoen/currency-api-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
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
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.phpfile:
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
updateCurrenciesmethod:$currencyBeaconService->updateCurrencies();
-
To update daily exchange rates manually, use the
updateDailyExchangeRatesmethod:$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.