florianv/laravel-swap

Currency exchange rates library for Laravel and Lumen

1.1.0 2016-12-22 19:55 UTC

README

logo.png

Currency exchange rates library for Laravel and Lumen

Build status Total Downloads Scrutinizer Version

Swap allows you to retrieve currency exchange rates from various services such as Fixer or Yahoo and optionally cache the results.



QuickStart

Installation

$ composer require florianv/laravel-swap php-http/message php-http/guzzle6-adapter

Laravel

Configure the Service Provider and alias:

// /config/app.php
'providers' => [
    Swap\Laravel\SwapServiceProvider::class
],

'aliases' => [
    'Swap' => Swap\Laravel\Facades\Swap::class
]

Publish the Package configuration

$ 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.

Service Base Currency Quote Currency Historical
Fixer * * Yes
European Central Bank EUR * Yes
Google * * 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
Russian Central Bank * RUB Yes
currencylayer USD (free), * (paid) * Yes
Array * * Yes

Credits

License

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