/
kano2711
/
perfectPanel
Обзор
Документация
Войти
/
kano2711
/
perfectPanel
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
api-test/entity/Pairs.php
136 строк
3 KB
kano
добавил endpoint конвертации валют
12 окт 2025, 22:25
12 окт 2025, 22:25
0d9be94
Код
Авторство
О чём код?
<?php namespace app\entity; class Pairs { private $pairs = [ "BCHEUR", "BCHGBP", "BCHJPY", "BCHRUB", "BCHUSD", "BCHXRP", "BTCBCH", "BTCEUR", "BTCGBP", "BTCJPY", "BTCRUB", "BTCUSD", "BTCXRP", "BTGUSD", "BYNRUB", "CADRUB", "CHFRUB", "CNYEUR", "CNYRUB", "CNYUSD", "ETHEUR", "ETHGBP", "ETHJPY", "ETHRUB", "ETHUSD", "EURAED", "EURAMD", "EURBGN", "EURBYN", "EURGBP", "EURJPY", "EURKZT", "EURRUB", "EURTRY", "EURUSD", "GBPAUD", "GBPBYN", "GBPJPY", "GBPRUB", "GELRUB", "GELUSD", "IDRUSD", "JPYAMD", "JPYAZN", "JPYRUB", "LKREUR", "LKRRUB", "LKRUSD", "MDLEUR", "MDLRUB", "MDLUSD", "MMKEUR", "MMKRUB", "MMKUSD", "RSDEUR", "RSDRUB", "RSDUSD", "RUBAED", "RUBAMD", "RUBAUD", "RUBBGN", "RUBKZT", "RUBMYR", "RUBNZD", "RUBSGD", "RUBTRY", "RUBUAH", "THBCNY", "THBEUR", "THBRUB", "USDAED", "USDAMD", "USDAUD", "USDBGN", "USDBYN", "USDCAD", "USDGBP", "USDILS", "USDJPY", "USDKGS", "USDKZT", "USDMYR", "USDRUB", "USDTHB", "USDUAH", "USDVND", "XRPEUR", "XRPGBP", "XRPJPY", "XRPRUB", "XRPUSD", "ZECUSD" ]; public function getAllPairs(): string { return implode(',', $this->pairs); } public function getPairOfCurrency(string $currency): string { $result = $this->searchPairs($currency); if (empty($result)) { return null; } return implode(',', $result); } public function searchPairs(string|null $currency): array { return array_values(array_filter($this->pairs, function($pair) use ($currency) { return substr($pair, 0, 3) === $currency; })); } public function checkPairs(string $from, string $to) { return array_reduce($this->pairs, function($carry, $pair) use ($from, $to) { return $carry ?? (substr($pair, 0, 3) === $from && substr($pair, 3, 3) === $to ? $pair : null); }, null); } public function searchCurrency(string $currency) { return !empty(array_filter($this->pairs, fn($pair) => str_contains($pair, $currency))); } }