ksdev/nbp-currency-converter

从NBP网站检索平均货币汇率,并将一定金额从一种货币转换成另一种货币。

0.2.3 2015-08-13 12:45 UTC

This package is not auto-updated.

Last update: 2024-09-28 17:54:40 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score

从NBP网站检索平均货币汇率,并将一定金额从一种货币转换成另一种货币。

安装

通过Composer

$ composer require ksdev/nbp-currency-converter

用法

如果未传递可选的表格发布日期给 convertaverageExchangeRates 方法,则将使用最后发布的平均汇率表,从昨天开始,例如,在2015-07-10(星期五)将使用2015-07-09(星期四)的表格,在2015-07-12(星期日)将使用2015-07-10(星期五)的表格 - 除非这一天没有发布表格,那么将使用前一天的表格,等等。

use Ksdev\NBPCurrencyConverter\CurrencyConverter;
use Ksdev\NBPCurrencyConverter\ExRatesTableFinder;
use Ksdev\NBPCurrencyConverter\ExRatesTableFactory;
use GuzzleHttp\Client;

$converter = new CurrencyConverter(
    new ExRatesTableFinder(
        new Client(),
        new ExRatesTableFactory(),
        'path/to/cache/folder'
    )
);
try {
    $result = $converter->convert('123.4567', 'PLN', 'USD');
    $avgExRates = $converter->averageExchangeRates();
}
catch (Exception $e) {
    //
}
$result
array(
    'publication_date' => '2015-07-03',
    'amount'           => '32.7246',
    'currency'         => 'USD'
);
$avgExRates
array(
    'numer_tabeli'    => '127/A/NBP/2015',
    'data_publikacji' => '2015-07-03',
    'waluty'          =>
        array(
            'PLN' =>
                array(
                    'nazwa_waluty' => 'złoty polski',
                    'przelicznik'  => '1',
                    'kurs_sredni'  => '1',
                ),
            'THB' =>
                array(
                    'nazwa_waluty' => 'bat (Tajlandia)',
                    'przelicznik'  => '1',
                    'kurs_sredni'  => '0,1117',
                ),
            'USD' =>
                array(
                    'nazwa_waluty' => 'dolar amerykański',
                    'przelicznik'  => '1',
                    'kurs_sredni'  => '3,7726',
                ),
            'AUD' =>
                array(...)
        )
);

测试

$ composer test

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。