tomlankhorst/eurofxref-exchange-provider
Composer 安装命令:
composer require tomlankhorst/eurofxref-exchange-provider
包简介
EuroFXRef Exchange Provider for brick/money
README 文档
README
Conversion provider for brick/money that uses ECB's daily reference rates.
https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml
Uses PSR-16 SimpleCache and PSR-7 HTTP-Messages. Typically works with GuzzleHTTP and a cache of choice.
Using the provider in your project
Require the package in your project, besides brick/money.
composer require tomlankhorst/eurofxref-exchange-provider ^1.0
Register the EuroProvider as the ExchangeRateProvider of choise. In Laravel:
<?php namespace App\Providers; use Brick\Money\CurrencyConverter; use Brick\Money\ExchangeRateProvider; use GuzzleHttp\Client; use GuzzleHttp\ClientInterface; use Illuminate\Container\Container; use Illuminate\Contracts\Cache\Repository; use Illuminate\Support\ServiceProvider; use Psr\SimpleCache\CacheInterface; use tomlankhorst\EuroFXRefExchangeProvider\EuroProvider; class MoneyServiceProvider extends ServiceProvider { public function register() { // PSR-7 HTTP Messages $this->app->bind(ClientInterface::class, Client::class); // PSR-16 SimpleCache $this->app->bind(CacheInterface::class, Repository::class); // Bind the ExchangeProvider to the EuroProvider with a BaseCurrencyProvider // wrapper because it is a one-way conversion in this case. $this->app->bind(ExchangeRateProvider::class, function(Container $app){ $provider = $app->makeWith(EuroProvider::class, [ // Do not forget to set the TTL 'ttl' => config('services.eurofxref.cache.ttl') ]); return new ExchangeRateProvider\BaseCurrencyProvider($provider, 'EUR'); }); $this->app->singleton(CurrencyConverter::class, function(Container $app){ return new CurrencyConverter($app->make(ExchangeRateProvider::class)); }); } }
Running Tests
Install the dependencies and run PHPUnit
composer install
./vendor/bin/phpunit
统计信息
- 总下载量: 193
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-10-10