viewflex/forex

提供Laravel和Lumen中的实时货币汇率,具有可配置的供应商和缓存。

0.2.1 2018-12-17 12:46 UTC

This package is auto-updated.

Last update: 2024-09-18 03:24:49 UTC


README

GitHub license

提供Laravel和Lumen中的实时货币汇率,具有可配置的供应商和缓存。

概述

对于实时货币汇率,您选择的供应商取决于多种因素,包括价格、功能和可靠性,这些因素有时会发生变化。此包的目的是为您的应用程序提供一个固定的汇率端点,该端点可以配置为使用多个流行供应商之一,并在必要时随时重新配置以使用不同的供应商。

安装

通过Composer

$ composer require viewflex/forex

配置

必须在应用程序的.env文件中指定配置值,或者在您的环境中的$_ENV$_SERVER数组中 - 所有这些选项都得到了透明支持。以下是目前支持供应商的示例配置。您还可以按以下说明自定义缓存刷新间隔。

支持供应商

货币转换API(免费)

FOREX_PROVIDER=CurrencyConverterApiFree
FOREX_PROVIDER_URL=http://free.currencyconverterapi.com/api/v6/convert

货币转换API(付费)

FOREX_PROVIDER=CurrencyConverterApi
FOREX_PROVIDER_URL=https://api.currencyconverterapi.com/api/v6/convert
FOREX_PROVIDER_KEY=<your-provider-key>

Fixer(免费和付费)

FOREX_PROVIDER=Fixer
FOREX_PROVIDER_URL=https://data.fixer.io/api/latest
FOREX_PROVIDER_KEY=<your-provider-key>

*免费订阅仅支持欧元作为基准货币。

开放汇率(免费和付费)

FOREX_PROVIDER=OpenExchangeRates
FOREX_PROVIDER_URL=https://openexchangerates.org/api/latest.json
FOREX_PROVIDER_KEY=<your-provider-key>

*免费订阅仅支持美元作为基准货币。

缓存

使用FOREX_CACHE_MINUTES环境变量指定汇率缓存的时间长度。除非指定,否则默认为720(12小时)。将此变量设置为0将禁用汇率的缓存。使用较长的缓存刷新间隔可以帮助您避免服务中断(或如果使用付费服务,则可以避免额外收费)。

使用

$server = new \Viewflex\Forex\Forex();
echo $server->getRate('USD', 'CAD');

测试

测试的运行方式请参阅测试文档

许可证

此软件在MIT许可证下提供。

变更日志

发布版本在变更日志中跟踪。