mchervenkov/bnbfixing

Laravel BNB Fixing XML 包装器

1.0.2 2024-07-31 08:23 UTC

This package is auto-updated.

Last update: 2024-08-31 08:28:54 UTC


README

Latest Version on Packagist Total Downloads

安装

您可以通过composer安装此包

composer require mchervenkov/bnbfixing

如果您计划使用数据库存储bnb汇率

php artisan migrate

如果您需要导出配置文件

php artisan vendor:publish --tag=bnbfixing-config

如果您需要导出迁移文件

php artisan vendor:publish --tag=bnbfixing-migrations

如果您需要导出模型

php artisan vendor:publish --tag=bnbfixing-models

如果您需要导出命令

php artisan vendor:publish --tag=bnbfixing-commands

用法

方法

// Init BnbFixing Client
$bnbFixing = new BnbFixing();

// Return Bnb exchange rates in xml string format
$bnbFixing->getXmlContent();

// Get Certain exchange rate by code for certain bulgarian lev amount
// This will return how much Euro are 100 bulgarian lev
$bnbFixing->geExchangeBGNRateAmount('EUR', 100);

// Get Bulgarian Lev Rate for certain exchange rate and amount
// This will return how much bulgarian lev are 100 Euro
$bnbFixing->getReverseExchangeBGNRateAmount('EUR', 100);

// Get Amount between two exchange rates depends on BNB Fixings
// This will return how much euro are 100 american dollars
$bnbFixing->getExchangeRate('USD', 'EUR', 100);

命令

#get exchange rates and insert them into database
php artisan bnb-fixing:sync-bnbfixing

模型

BnbFixing

示例

获取XML内容

$bnbFixing = new BnbFixing();
$xmlContent = $bnbFixing->getXmlContent();
dd($xmlContent);

从保加利亚列弗金额的特定汇率(100保加利亚列弗兑换美元)

$bnbFixing = new BnbFixing();
$usd = $bnbFixing->getExchangeRateAmount('USD', 100);
dd($usd);

特定汇率兑换保加利亚列弗(100美元兑换列弗)

$bnbFixing = new BnbFixing();
$lev = $bnbFixing->getReverseExchangeRateAmount('USD', 100);
dd($lev)

测试

在运行测试前,在phpunit.xml文件中配置config xml_url

<php>
   <env name="BNB_XML_URL" value="https://www.bnb.bg/Statistics/StExternalSector/StExchangeRates/StERForeignCurrencies/?download=xml"/>
</php>
composer test

变更日志

请参阅CHANGELOG以获取更多有关最近更改的信息。

贡献

请参阅CONTRIBUTING以获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件mario.chervenkov@gmail.com联系,而不是使用问题跟踪器。

鸣谢

许可证

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