florianv / laravel-swap
Currency exchange rates library for Laravel and Lumen
Installs: 1 509 081
Dependents: 3
Suggesters: 1
Security: 0
Stars: 328
Watchers: 15
Forks: 44
Open Issues: 2
Requires
- php: ^7.1.3 || ^8.0
- florianv/swap: ^4.0
Requires (Dev)
- graham-campbell/testbench: ^5.3
- nyholm/psr7: ^1.0
- php-http/guzzle6-adapter: ^1.0
README
Swap allows you to retrieve currency exchange rates from various services such as Fixer, Currency Data or Exchange Rates Data and optionally cache the results.
Sponsors
QuickStart
Installation
$ composer require php-http/curl-client nyholm/psr7 php-http/message florianv/laravel-swap
Laravel 5.7 or lesser
If you use cache, add also PSR-6 adapter and PSR-16 bridge cache dependencies :
$ composer require cache/illuminate-adapter cache/simple-cache-bridge
These dependencies are not required with Laravel 5.8 or greater which implements PSR-16.
Laravel 5.5+
If you don't use auto-discovery, add the ServiceProvider
to the providers array in config/app.php
:
// /config/app.php 'providers' => [ Swap\Laravel\SwapServiceProvider::class ],
If you want to use the facade to log messages, add this to your facades in app.php:
'aliases' => [
'Swap' => Swap\Laravel\Facades\Swap::class
]
Copy the package config to your local config with the publish command:
$ php artisan vendor:publish --provider="Swap\Laravel\SwapServiceProvider"
Lumen
Configure the Service Provider and alias:
// /boostrap/app.php // Register the facade $app->withFacades(true, [ Swap\Laravel\Facades\Swap::class => 'Swap' ]); // Load the configuration $app->configure('swap'); // Register the service provider $app->register(Swap\Laravel\SwapServiceProvider::class);
Copy the configuration to /config/swap.php
if you wish to override it.
Usage
// Get the latest EUR/USD rate $rate = Swap::latest('EUR/USD'); // 1.129 $rate->getValue(); // 2016-08-26 $rate->getDate()->format('Y-m-d'); // Get the EUR/USD rate yesterday $rate = Swap::historical('EUR/USD', Carbon\Carbon::yesterday());
Documentation
The complete documentation can be found here.
Services
Here is the list of the currently implemented services:
Credits
License
The MIT License (MIT). Please see LICENSE for more information.