-
Notifications
You must be signed in to change notification settings - Fork 0
/
CurrencyInterface.php
68 lines (58 loc) · 1.78 KB
/
CurrencyInterface.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
namespace AJUR\Toolkit;
use Psr\Log\LoggerInterface;
interface CurrencyInterface
{
/**
*
*/
const CBR_URL = 'http://www.cbr.ru/scripts/XML_daily.asp';
const credentials = [
// internal codes
'currencies' => [ 'R01235', 'R01239' ], // usd, euro
'API_key' => '',
'URL' => 'http://www.cbr.ru/scripts/XML_daily.asp'
];
/**
* Инициализирует класс.
* Необязательное действие. Основные значения заданы по умолчанию.
*
* @param array $options
* @param LoggerInterface|null $logger
* @return mixed
*/
public static function init(array $options = [], LoggerInterface $logger = null);
/**
* Фильтрует набор данных из ЦБР на предмет валют по набору кодов
*
* @param array $codes
* @return bool
*/
public static function selectCurrencySet(array $codes):bool ;
/**
* Возвращает информацию о загруженных валютах
*
* @return array
*/
public static function getPrices():array ;
/**
* Возвращает информацию о загруженных валютах в компактном виде
*
* @return array
*/
public static function getPricesCompact():array;
/**
* Сохраняет данные в файл
*
* @param string $filename
* @return mixed
*/
public static function storeFile(string $filename) ;
/**
* Загружает данные из файла
*
* @param string $filename
* @return array
*/
public static function loadFile(string $filename):array;
}