submarine/nbrb-exchange-rates-bundle
Composer 安装命令:
composer require submarine/nbrb-exchange-rates-bundle
包简介
Парсер официальных курсов валют Национального банка Республики Беларусь
README 文档
README
Парсер официальных курсов валют Национального банка Республики Беларусь (Источник данных)
Возможности:
- Получение курсов валют по коду валюты (UAH, USD).
- Получение динамики официального курса белорусского рубля к заданной валюте периодом не более чем за 365 дней.
- Все данные обернуты в объекты
- Кэширование данных (файловый кэш)
Установка
composer.json:
{
"require": {
"submarine/nbrb-exchange-rates-bundle": "^0.3"
}
}
Регистрация бандла:
// app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Submarine\NbrbExchangeRatesBundle\SubmarineNbrbExchangeRatesBundle(), ); // ... }
Конфигурация config.yml
# Значения по умолчанию submarine_nbrb_exchange_rates: source: # Урлы xml-данных url_exchange_rates: 'http://www.nbrb.by/Services/XmlExRates.aspx' url_exchange_rates_dynamic: 'http://www.nbrb.by/Services/XmlExRatesDyn.aspx' connect_timeout: 3 # Ожидание подключения к сервису, сек (default: 3) timeout: 3 # Ожидание ответа сервера, сек (default: 3) exception: false # Выкидывать исключения? (default: false)
Использование
Получение текущего курса
$data = $container->get('nbrb_exchange_rates.provider') ->getRateExchange('USD', new \DateTime()); //За текущую дату
Несколько валют:
$provider = $container->get('nbrb_exchange_rates.provider'); // Выбранные валюты $data = $provider->getRatesExchanges(['UAH', 'USD', 'EUR'], new \DateTime()); // Все валюты $data = $provider->getAllRatesExchanges(new \DateTime()); // Одна валюта $rate = $provider->getRateExchange('USD', new \DateTime('2014-01-01'));
Динамика изменения курса
Период не более чем за 365 дней.
$container->get('nbrb_exchange_rates.provider') ->getRatesExchangesDynamic( 'USD', new \DateTime('2014-01-01'), new \DateTime('2014-05-01') );
Кэширование
Можно воспользоваться декоратором CachedExchangeRateProvider в своем приложении.
Кэш-провайдер должен реализовывать интерефейс Doctrine\Common\Cache\Cache (смотрите doctrine/cache).
Пример конфигурации services.yml:
services: my_nbrb_exchange_rates_cached: class: Submarine\NbrbExchangeRatesBundle\Provider\CachedExchangeRateProvider arguments: - '@nbrb_exchange_rates.provider' - '@cache_filesystem' - 10800 cache_filesystem: class: Doctrine\Common\Cache\FilesystemCache arguments: ['%kernel.cache_dir%/file']
$provider = $container->get('my_nbrb_exchange_rates_cached'); // Выбранные валюты $data = $provider->getRatesExchanges(['UAH', 'USD', 'EUR'], new \DateTime());
submarine/nbrb-exchange-rates-bundle 适用场景与选型建议
submarine/nbrb-exchange-rates-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 60 次下载、GitHub Stars 达 5, 最近一次更新时间为 2015 年 04 月 03 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 submarine/nbrb-exchange-rates-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 submarine/nbrb-exchange-rates-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 60
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 6
- 点击次数: 21
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-04-03