plugowski/currency_converter

此包的最新版本(1.1)没有可用的许可信息。

1.1 2016-08-13 19:41 UTC

This package is not auto-updated.

Last update: 2024-09-15 01:12:19 UTC


README

货币转换器,提供从NBP(波兰国家银行)和ECB(欧洲中央银行)获取最新货币的服务。转换器内置了数字读数器,可以将价格转换为指定货币的文本形式。

安装

只需克隆该存储库(请记住有关NumberSpeller依赖项)或直接使用composer

composer require plugowski/currency_converter

使用方法

基本用法如下所示

<?php
require __DIR__ . '/vendor/autoload.php';

$money = new CurrencyConverter\Money\Money(1, new CurrencyConverter\Currency\Currency('EUR'));

$rateCollection =  new \CurrencyConverter\Exchange\RateCollection();
$rateCollection->add(new \CurrencyConverter\Exchange\Rate('EUR', 4.2636));
$rateCollection->add(new \CurrencyConverter\Exchange\Rate('PLN', 1.0000));

$converter = new CurrencyConverter\Converter($rateCollection);
$converted = $converter->exchange($money, new CurrencyConverter\Currency\Currency('PLN'));

// how many PLN are in 1 EUR
echo $converted->getValue();

使用货币工厂的魔法静态方法,只需调用Money::CURRENCY_CODE(float $value)

$money = Money::EUR(1);

在上面的示例中,我们手动创建了汇率集合,但您也可以使用服务从第三方服务(如NBP或ECB)获取汇率。

服务使用

<?php
$exchangeService = new CurrencyConverter\Exchange\Service(new CurrencyConverter\Exchange\Repository\NBPRatesRepository());
$converted = $exchangeService->convert(CurrencyConverter\Money\Money::EUR(4), new CurrencyConverter\Currency('PLN'));

MoneyFormatter

在某些情况下,我们需要将货币值显示为拼写字符串。在这种情况下,您可以使用内置格式化器。

<?php
$formatter = \CurrencyConverter\Money\FormatterFactory::create('pl_PL');
$formatter->setMoney(\CurrencyConverter\Money\Money::PLN(20.99));

echo $formatter->spell(); // will return: dwadzieścia złotych dziewięćdziesiąt dziewięć groszy

当然,您可以更改返回的格式,请查看测试以获取更多示例。

许可

新BSD许可:https://open-source.org.cn/licenses/BSD-3-Clause