florianv/swap

Exchange rates library for PHP

3.4.0 2018-04-19 14:17 UTC

README

logo.png

Currency exchange rates library for PHP

Build status Total Downloads Scrutinizer Version

Swap allows you to retrieve currency exchange rates from various services such as Fixer or Google and optionally cache the results. It is integrated to other libraries like moneyphp/money and provides a Symfony Bundle and a Laravel Package.


QuickStart

$ composer require florianv/swap php-http/message php-http/guzzle6-adapter
use Swap\Builder;

// Build Swap with Fixer.io
$swap = (new Builder())
    ->add('fixer', ['access_key' => 'your-access-key'])
    ->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'));

Documentation

The complete documentation can be found here.

Services

Here is the list of the currently implemented services.

Service Registry Alias Base Currency Quote Currency Historical
Fixer fixer * * Yes
European Central Bank european_central_bank EUR * Yes
Google google * * No
Open Exchange Rates USD (free), * (paid) * Yes
Xignite xignite * * Yes
WebserviceX webservicex * * No
National Bank of Romania national_bank_of_romania RON * No
Central Bank of the Republic of Turkey central_bank_of_republic_turkey * TRY No
Central Bank of the Czech Republic central_bank_of_czech_republic * CZK No
Russian Central Bank russian_central_bank * RUB Yes
currencylayer currency_layer USD (free), * (paid) * Yes
Cryptonator cryptonator * Crypto (Limited standard currencies) * Crypto (Limited standard currencies) No
1Forge forge * (free but limited or paid) * (free but limited or paid) No
CurrencyDataFeed currency_data_feed * (free but limited or paid) * (free but limited or paid) No
Array array * * Yes

Integrations

Credits

License

The MIT License (MIT). Please see LICENSE for more information.