plugowski / currency_converter
此包的最新版本(1.1)没有可用的许可信息。
1.1
2016-08-13 19:41 UTC
Requires
- php: >=5.6
- plugowski/number_speller: *
Requires (Dev)
- phpunit/phpunit: 4.8.9
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
当然,您可以更改返回的格式,请查看测试以获取更多示例。