Skip to content

skillbox-koutja/test-currency-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Логика получения курсов валют следующая. Вызывающий код может получить их из кеша, из базы данных и из внешнего источника по http. В случае, если курса валют нет в кеше, надо проверить базу, и если там есть, положить в кеш. Если в базе нет -- проверить внешний источник и положить и в базу, и в кеш. Надо реализовать эту логику. Предполагается, что она будет использоваться в куче разных мест.

Пример вызова кода

<?php

use App\Model\Currency\Entity;
use App\Model\Currency\Service;
use App\Model\Currency\UseCase\FetchCurrency;

// настройка сервисов для получения курса валюты
$fetchers = [...];
$fetcher = new Service\Fetcher\ChainFetcher($fetchers);

// формирование запроса
$query = new FetchCurrency\Query(new Entity\Currency\Id('...'));
$handler = new FetchCurrency\Handler($fetcher);
try {
  $currency = $handler($query);
} catch (\App\Model\EntityNotFoundException $e) {
  // обработка исключительной ситуации, когда найти курс валют не удалось
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages