kantorge / laravel-currency-exchange-rates
A Laravel package to retrieve historical currency exchange rate data
Fund package maintenance!
kantorge
Installs: 1 041
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.8
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
README
This package can be used to retrieve historical currency exchange rate data from various sources. The main purpose is to provide a unified interface to retrieve data from different sources. Currently, the following sources are supported:
- Frankfurter: https://www.frankfurter.app/docs/
- Mock: A mock source that can be used for testing purposes
Installation
You can install the package via composer:
composer require kantorge/laravel-currency-exchange-rates
You can publish the config file with:
php artisan vendor:publish --tag="laravel-currency-exchange-rates-config"
Usage
Get a new instance of the CurrencyExchangeRates class with the default source, as defined in the config file.
use Kantorge\CurrencyExchangeRates\Facades\CurrencyExchangeRates; $currencyApi = CurrencyExchangeRates::create();
View the list of available currencies
// [ 'EUR', 'USD', 'GBP', ...] $currencyApi->getCurrencies();
Get the exchange rate for a specific date range, with a specific base currency and target currencies
// [ // '2021-01-01' => [ // 'EUR' => 1, // 'USD' => 1.23, // ], // ] $currencyApi->getTimeSeries( new Carbon('2021-01-01'), new Carbon('2021-01-01'), 'HUF', ['EUR', 'USD'] );
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.