abgeo/nbg-currency

从格鲁吉亚国家银行(NBG)的API获取数据的库。

v2.0.0 2020-02-26 12:44 UTC

This package is auto-updated.

Last update: 2024-08-29 05:07:02 UTC


README

用于从格鲁吉亚国家银行(NBG)的API获取数据的PHP库。

GitHub license

GitHub release

Packagist Version

Build Status

请参阅在phpDocumentor生成的文档,存放在docs/文件夹中。

安装

您可以使用 Composer 安装此库

  • composer require abgeo/nbg-currency

用法

将composer自动加载器包含在您的主文件中(例如:index.php)

  • require_once __DIR__.'/../vendor/autoload.php';

导入类

  • use ABGEO\NBG\Currency;
  • use ABGEO\NBG\Helper\CurrencyCodes;

现在您可以创建一个新的 Currency 类对象,例如,用于 USD 货币

  • $USD = new Currency(CurrencyCodes::USD);

Currency 类构造函数接受单个参数 - 货币代码。您可以手动传递它(ISO 4217)或使用 ABGEO\NBG\Helper\CurrencyCodes 类常量

AED, AMD, AUD, AZN, BGN, BYR, CAD, CHF, CNY, CZK, DKK, EEK, EGP, EUR, 
GBP, HKD, HUF, ILS, INR, IRR, ISK, JPY, KGS, KWD, KZT, LTL, LVL, MDL, 
NOK, NZD, PLN, RON, RSD, RUB, SEK, SGD, TJS, TMT, TRY, UAH, USD, UZS.

创建类对象后,我们可以获取货币数据。
API为我们提供以下内容

  • 货币金额;
  • 货币描述;
  • 货币变化值;
  • 货币变化率(-1 - 下降;0 - 无变化;1 - 上升);
  • 货币日期;

公共方法

  • getCurrency() - 获取货币金额;
  • getDescription() - 获取货币描述;
  • getChange() - 货币变化值;
  • getRate() - 获取货币变化率;
  • getDate() - 获取货币日期;

示例

USD的示例

...
echo "Currency: \t{$USD->getCurrency()}\n";
echo "Description: \t{$USD->getDescription()}\n";
echo "Change: \t{$USD->getChange()}\n";
echo "Change Rate: \t{$USD->getRate()}\n";
echo "Date: \t\t{$USD->getDate()->format('m/d/Y')}\n";
...

包含USD和EUR的完整示例

<?php

// Include Composer Autoloader.
require_once __DIR__.'/../vendor/autoload.php';

// Import namespace.
use ABGEO\NBG\Currency;
use ABGEO\NBG\Helper\CurrencyCodes;

// Create new Currency class object for USD and EUR Currencies.
$USD = new Currency(CurrencyCodes::USD);
$EUR = new Currency(CurrencyCodes::EUR);

// Print results.

echo "USD: \n\n";
echo "Currency: \t{$USD->getCurrency()}\n";
echo "Description: \t{$USD->getDescription()}\n";
echo "Change: \t{$USD->getChange()}\n";
echo "Change Rate: \t{$USD->getRate()}\n";
echo "Date: \t\t{$USD->getDate()->format('m/d/Y')}\n";

echo "\n------------------------------------------\n\n";

echo "EUR: \n\n";
echo "Currency: \t{$EUR->getCurrency()}\n";
echo "Description: \t{$EUR->getDescription()}\n";
echo "Change: \t{$EUR->getChange()}\n";
echo "Change Rate: \t{$EUR->getRate()}\n";
echo "Date: \t\t{$EUR->getDate()->format('m/d/Y')}\n";

导出

您可以使用 ABGEO\NBG\Exporter 类将货币数据导出到CSV文件或PHP流输出。
ABGEO\NBG\Exporter 类有 export() 方法,它接受3个参数

  • currencies - 单个货币代码或数组;
  • exportMode [可选][默认: Exporter::EXPORT_2_FILE]
    • Exporter::EXPORT_2_FILE(1) - 导出到文件;
    • Exporter::Exporter::EXPORT_2_FILE(2) - 导出到流;
  • file [可选][默认: currency-{current-date}.csv] - 导出的文件名。

导出示例

导出单个货币
...
Exporter::export(CurrencyCodes::USD, Exporter::EXPORT_2_FILE, 'single.csv');
...
导出多个货币
...
Exporter::export(
    [
        CurrencyCodes::USD,
        CurrencyCodes::EUR,
        CurrencyCodes::BGN,
        CurrencyCodes::AMD,
    ],
    Exporter::EXPORT_2_STREAM
);
...

注意:在导出到流之前不要打印任何内容,因为我们使用了 header() 函数。

作者

  • Temuri Takalandze - 初始工作 - ABGEO

许可

本项目采用MIT许可证 - 请参阅LICENSE文件以获取详细信息