orkhanahmadov / currencylayer
currencylayer.com 的 PHP 客户端
Requires
- php: ^7.1
- ext-json: *
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- blastcloud/guzzler: ^1.5
- phpunit/phpunit: ^6.0|^7.0|^8.0
This package is auto-updated.
Last update: 2024-09-27 01:59:19 UTC
README
为 currencylayer.com 货币汇率提供简单的 PHP 客户端。
安装
您可以通过 composer 安装此包
composer require orkhanahmadov/currencylayer
使用
实例化 Orkhanahmadov\Currencylayer\CurrencylayerClient 类并传入您的 "访问密钥"
use Orkhanahmadov\Currencylayer\CurrencylayerClient; $client = new CurrencylayerClient('your-access-key-here');
您可以在 Currencylayer 控制台 中找到您的访问密钥。
如果您正在使用 付费计划,您可以使用 HTTPS 连接到 currencylayer.com API。在实例化时,将 true 作为第二个参数传入以使用 HTTPS 连接。
$client = new CurrencylayerClient('your-access-key-here', true);
可用方法
quotes()
使用此方法获取实时和历史汇率。
将源货币传递给 source() 方法,将汇率货币传递给 currency() 方法。以下示例将获取从 USD 到 EUR 的实时汇率。
$client->source('USD')->currency('EUR')->quotes();
您还可以将多个汇率货币传递给 currency() 方法
$client->source('USD')->currency('EUR', 'AUD')->quotes(); // you can also pass currencies as an array $client->source('USD')->currency(['EUR', 'AUD'])->quotes();
如果您想获取特定日期的汇率,可以将日期传递给 date() 方法。 date() 方法接受日期字符串或 DateTimeInterface 实例。
$client->source('USD')->currency('EUR')->date('2019-05-20')->quotes();
quotes() 方法返回 Orkhanahmadov\Currencylayer\Data\Quotes 实例。您可以使用以下方法
source()- 返回源货币(例如,USD)timestamp()- 返回 currencylayer API 的时间戳值(例如,1432400348)quotes()- 返回来自 currencylayer API 的引用数组date()- 返回DateTimeInterface日期。如果您获取了实时汇率,此方法将返回null
您还可以使用货币名称作为属性获取获取的每种货币的汇率
$quotes = $client->source('USD')->currency(['EUR', 'AUD'])->date('2019-05-20')->quotes(); $qoutes->EUR; // returns USD to EUR rate for 2019-05-20 $qoutes->AUD; // returns USD to AUD rate for 2019-05-20
convert()
使用此方法将一种货币的金额转换为另一种货币。
将源货币传递给 source() 方法,将汇率货币传递给 currency() 方法,将金额传递给 convert() 方法。以下示例将使用实时汇率将 10 USD 转换为 GBP。
$client->source('USD')->currency('GBP')->convert(10);
如果您想根据不同日期的汇率进行转换,可以将日期传递给 date() 方法。 date() 方法接受日期字符串或 DateTimeInterface 实例。
$client->source('USD')->currency('GBP')->date('2019-05-20')->convert(10);
convert() 方法返回 Orkhanahmadov\Currencylayer\Data\Conversion 实例。您可以使用以下方法
fromCurrency()- 返回源货币(例如,USD)toCurrency()- 返回目标货币(例如,GBP)timestamp()- 返回 currencylayer API 的时间戳值(例如,1432400348)amount()- 返回传递给convert()方法的金额(例如,10)quote()- 返回源货币和目标货币之间的报价(例如,0.658443)result()- 返回转换结果(例如6.58443)date()- 返回DateTimeInterface日期。如果您获取了实时汇率,此方法将返回null
timeframe()
使用此方法显示给定日期之间的汇率。
将源货币传递给 source() 方法,将汇率货币传递给 currency() 方法,将开始日期作为 timeframe() 方法的第一个参数,将结束日期作为第二个参数。开始日期和结束日期可以是日期字符串或 DateTimeInterface 实例。
以下示例将返回从 2010-03-01 到 2010-04-01 的 USD 到 GBP 和 EUR 的时间段汇率。
$client->source('USD')->currency('GBP', 'EUR')->timeframe('2010-03-01', '2010-04-01');
timeframe() 方法返回 Orkhanahmadov\Currencylayer\Data\Timeframe 实例。您可以使用以下方法
source()- 返回源货币(例如,USD)startDate()- 返回DateTimeInterface开始日期endDate()- 返回DateTimeInterface结束日期allQuotes()- 返回从开始日期到结束日期每天分组引用的数组quotes()- 接受字符串日期或DateTimeInterface实例,并返回该天的汇率
您还可以使用货币代码作为函数调用,并将日期传递以获取汇率
$timeframe = $client->source('USD')->currency('GBP', 'EUR')->timeframe('2010-03-01', '2010-04-01'); $timeframe->GBP('2010-03-15'); // returns USD to GBP rate for 2010-03-15 $timeframe->EUR('2010-03-20'); // returns USD to EUR rate for 2010-03-20
change()
使用此方法来显示给定日期之间的货币汇率变化。
将源货币传递给 source() 方法,将汇率货币传递给 currency() 方法,并将起始日期作为 change() 方法的第一个参数,将结束日期作为第二个参数。起始日期和结束日期可以是日期字符串或 DateTimeInterface 实例。
以下示例将返回从 2010-03-01 到 2010-04-01 之间 USD 到 GBP 和 EUR 的汇率变化。
$client->source('USD')->currency('GBP', 'EUR')->change('2010-03-01', '2010-04-01');
change() 方法返回 Orkhanahmadov\Currencylayer\Data\Change 实例。您可以使用以下方法
source()- 返回源货币(例如,USD)startDate()- 返回DateTimeInterface开始日期endDate()- 返回DateTimeInterface结束日期quotes()- 返回起始日期和结束日期之间货币汇率变化的数组rate()- 接受货币代码作为参数,并返回给定起始日期的货币汇率endRate()- 接受货币代码作为参数,并返回给定结束日期的货币汇率amount()- 接受货币代码作为参数,并返回货币金额的变化percentage()- 接受货币代码作为参数,并返回货币汇率的百分比变化
list()
使用此方法来获取所有可用货币的列表。
$client->list();
方法将返回具有 currencyCode => currencyName 结构的货币数组。
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近的变化。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件 ahmadov90@gmail.com 而不是使用问题跟踪器。
致谢
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。