forexapi/client

用于消费ForexAPI的库。非常适合金融或电子商务行业,该客户端简化了将实时外汇数据集成到各种基于PHP的项目中的过程。

1.0.1 2024-01-26 00:53 UTC

This package is auto-updated.

Last update: 2024-09-29 13:33:45 UTC


README

logo.png

ForexAPI PHP客户端

example workflow Latest Stable Version Total Downloads License PHP Version Require

这是一个ForexAPI的PHP客户端。它提供了一个易于使用的接口来与API端点交互。《ForexAPI》提供免费计划,并提供外汇汇率和货币转换。
API文档可以在https://forexapi.eu/en/docs找到。

获取免费API密钥

要求

  • PHP 7.4或更高版本
  • json扩展
  • Composer

安装

使用Composer安装ForexAPI PHP客户端

composer require forexapi/client

此包不包含Http客户端。您可以使用任何PSR-18兼容的客户端
如果您安装了多个Http客户端,您可以指定要使用哪个

composer require guzzlehttp/guzzle forexapi/client

用法

直接使用您的API密钥创建Client类的实例

use ForexAPI\Client\Client;

$client = new Client('your-api-key');

使用ForexAPI\Client\ForexAPIClientBuilder类创建新实例

use \ForexAPI\Client\ForexAPIClientBuilder;

$builder = (new ForexAPIClientBuilder())
    ->withApiKey('your-api-key')
    ->withBaseUri('https://forexapi.eu/api/')
    ->withHttpAdapter($yourCustomHttpAdapter)
    ->build()
;

使用您自己的PSR-18客户端和PSR-17请求工厂是可选的。如果您不提供它们,客户端将尝试自动发现它们。

use \ForexAPI\Client\ForexAPIClientBuilder;

$builder = (new ForexAPIClientBuilder())
    ->withApiKey('your-api-key')
    ->withPsr18Client($yourCustomPsr18Client)
    ->withPsr17RequestFactory($yourCustomPsr17RequestFactory)
    ->build()
;

获取实时报价

要获取特定货币对的实时报价

$quote = $client->getLiveQuote('USD', 'PLN');

echo $quote->getBase(); // USD
echo $quote->getCounter(); // PLN
echo $quote->getBid(); // Bid price
echo $quote->getAsk(); // Ask price
echo $quote->getMid(); // Mid price
echo $quote->getTimestamp(); // Timestamp

获取汇率

要获取两种货币之间的汇率

$exchangeRate = $client->getExchangeRate('USD', 'PLN');

echo $exchangeRate->getFrom(); // USD
echo $exchangeRate->getTo(); // PLN
echo $exchangeRate->getRate(); // Exchange rate
echo $exchangeRate->getTimestamp(); // Timestamp

如果您想一次性获取多个汇率,可以使用getExchangeRates方法。
它接受一个计数货币数组作为参数

$exchangeRate = $client->getExchangeRates('USD', ['PLN', 'EUR', 'GBP']);

货币转换

要将一定金额从一种货币转换为另一种货币

$conversion = $client->convert('USD', 'PLN', 100.0);

echo $conversion->getFrom(); // USD
echo $conversion->getTo(); // PLN
echo $conversion->getAmount(); // 100.0
echo $conversion->getResult(); // Converted amount in PLN
echo $conversion->getTimestamp(); // Timestamp

如果您想一次性将货币转换为多种货币,可以使用convertMany方法

$conversions = $client->convertMany('USD', ['PLN', 'EUR', 'GBP'], 100.0);

测试

此库包括一系列单元测试。使用PHPUnit运行它们

./vendor/bin/phpunit

许可证

本项目采用MIT许可证。有关详细信息,请参阅LICENSE文件。