Swap allows you to retrieve currency exchange rates from various services such as Fixer or Yahoo and optionally cache the results.
It is integrated to other libraries like moneyphp/money
and provides
a Symfony Bundle and a Laravel Package.
$ composer require florianv/swap php-http/message php-http/guzzle6-adapter
use Swap\Builder;
// Build Swap with Fixer.io
$swap = (new Builder())
->add('fixer')
->build();
// 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 15 days ago
$rate = $swap->historical('EUR/USD', (new \DateTime())->modify('-15 days'));
The complete documentation can be found here.
Here is the list of the currently implemented services.
Service | Base Currency | Quote Currency | Historical |
---|---|---|---|
Fixer | * | * | Yes |
European Central Bank | EUR | * | Yes |
* | * | No | |
Open Exchange Rates | USD (free), * (paid) | * | Yes |
Xignite | * | * | Yes |
Yahoo | * | * | No |
WebserviceX | * | * | No |
National Bank of Romania | RON | * | No |
Central Bank of the Republic of Turkey | * | TRY | No |
Central Bank of the Czech Republic | * | CZK | No |
Currency Layer | USD (free), * (paid) | * | Yes |
- A Symfony Bundle FlorianvSwapBundle
- A Laravel Package florianv/laravel-swap
The MIT License (MIT). Please see LICENSE for more information.