Skip to content

Курсы валют по отношению к тенге

License

Notifications You must be signed in to change notification settings

naffiq/php-tenge-rates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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