submarine/nbrb-exchange-rates-bundle
最新稳定版本:v0.3.1
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());
统计信息
- 总下载量: 60
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 6
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-04-03