naffiq/php-tenge-rates

PHP wrapper for Kazakhstani Official National Bank tenge currency rates

1.0.1 2017-09-21 09:49 UTC

This package is auto-updated.

Last update: 2024-04-07 19:33:01 UTC


README

PHP version Travis CI build Code Climate Test Coverage Issue Count

Данный компонент является оберткой для обработки курса от Нацбанка.

Актуальный курс доступен по ссылке http://www.nationalbank.kz/rss/rates.xml

Установка

Предпочтительный способ установки - через composer

$ composer require naffiq/php-tenge-rates

Использование

<?php

require __DIR__ . '/vendor/autoload.php';
use naffiq\tenge\CurrencyRates;
$rates = new CurrencyRates();
echo $rates->convertToTenge('USD', 100); // 33214 на момент написания примера

Возможные коды валют:

  • USD
  • RUR
  • EUR

Больше видов валют

<?php

require __DIR__ . '/vendor/autoload.php';

use naffiq\tenge\CurrencyRatecs;
// URL для всех валют содержится в качестве константы в классе CurrencyRates
$rates = new CurrencyRates(CurrencyRates::URL_RATES_ALL);
echo $rates->convertToTenge('GBP', 100); // 41242 на момент написания примера

Все возможные коды валют:

  • AUD
  • GBP
  • DKK
  • AED
  • USD
  • EUR
  • CAD
  • CNY
  • KWD
  • KGS
  • LVL
  • MDL
  • NOK
  • SAR
  • RUB
  • XDR
  • SGD
  • TRL
  • UZS
  • UAH
  • SEK
  • CHF
  • EEK
  • KRW
  • JPY
  • BYN
  • PLN
  • ZAR
  • TRY
  • HUF
  • CZK
  • TJS
  • HKD
  • BRL
  • MYR
  • AZN
  • INR
  • THB
  • AMD
  • GEL
  • IRR
  • MXN

Прохождение по валютам

Ниже предоставлен пример кода для прохождения по всем валютам. Класс \naffiq\tenge\CurrencyRates имлементирует интерфейсы \Countable и \IteratorAggregate, так что с его объектами можно орудовать как с массивами.

<?php

require __DIR__ . '/vendor/autoload.php';
use naffiq\tenge\CurrencyRates;
$rates = new CurrencyRates();

foreach ($rates as $rate) {
    /**
     * @var \naffiq\tenge\Currency $rate 
     */
    echo "{$rate->title} - {$rate->price}";
}

Лимит времени запроса

По умолчанию лимит времени запроса стоит 1 секунду. Если вы хотите сменить его, то инициализируйте класс CurrencyRates со вторым параметром $timeout.

<?php

require __DIR__ . '/vendor/autoload.php';
use naffiq\tenge\CurrencyRates;
$rates = new CurrencyRates(CurrencyRates::URL_RATES_MAIN, 10); // $timeout == 10