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

v1.0.4 2024-11-14 10:48 UTC

This package is auto-updated.

Last update: 2025-04-14 11:49:17 UTC


README

This Symfony bundle provides integration with the Currency Beacon API, allowing you to fetch and manage currency data within your Symfony application.

Installation

  1. Install the bundle using Composer:
composer require bigoen/currency-api-bundle
  1. 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.