Skip to content

Latest commit

 

History

History
123 lines (101 loc) · 3.28 KB

README.md

File metadata and controls

123 lines (101 loc) · 3.28 KB

Курсы валют от Нацбанка Казахстана

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