承接 submarine/nbrb-exchange-rates-bundle 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

submarine/nbrb-exchange-rates-bundle

最新稳定版本:v0.3.1

Composer 安装命令:

composer require submarine/nbrb-exchange-rates-bundle

包简介

Парсер официальных курсов валют Национального банка Республики Беларусь

README 文档

README

Scrutinizer Code Quality Build Status

Парсер официальных курсов валют Национального банка Республики Беларусь (Источник данных)

Возможности:

  • Получение курсов валют по коду валюты (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

GitHub 信息

  • Stars: 5
  • Watchers: 2
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-04-03