Download the PHP package bugviktor90/delivery-calculator without Composer
On this page you can find all versions of the php package bugviktor90/delivery-calculator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package delivery-calculator
Калькулятор доставки
Задача
Требуется спроектировать модуль расчета доставки для интернет магазина. Модуль должен предоставлять возможность получить информацию о доставке двумя способами:
- одной конкретной службой
- всеми доступными службами
Исходные данные
На момент постановки задачи планируется интеграция с двумя внешними службами доставки.
Служба А
API службы доставки принимает на вход следующие параметры:
- адрес отправителя
- адрес получателя
- список элементов (для каждого вес, ШхГхВ)
Возвращает:
- стоимость доставки
- количество дней начиная с сегодняшнего
Служба B
API службы доставки принимает на вход следующие параметры:
- адрес отправителя
- адрес получателя
- список элементов (для каждого вес, ШхГхВ, кол-во)
Возвращает:
- коэффициент стоимости. В отличии от Службы А, служба Б имеет Базовую стомость доставки, например 150 руб, и конечная цена доставки рассчитывается как произведение базовой стоимости на коэффициент.
- дата доставки
Результат
Результатом выполнения тестового задания должна быть структура классов и интерфейсов, из которой будет понятно следующее:
- как использовать модуль из клиентского кода
- за какую задачу отвечает каждый из элементов модуля
- как элементы модуля взаимосвязаны между собой
Установка
Использование готового модуля
Создание запроса
Настройка калькулятора
Вариант 1
Вариант 2
Получение результата
Обработка результата
Результатом работы является объект класса DeliveryCalculator\Result\Result
Основные сущности
- DeliveryCalculator\Calculator - Калькулятор доставки
- DeliveryCalculator\Request\Request - Запроса на расчет доставки
- DeliveryCalculator\Request\Item - Позиция в запросе на расчет доставки
- DeliveryCalculator\Providers\Provider - Провайдер для работы со службой доставки
- DeliveryCalculator\Providers\Converters\Converter - Конвертер, преобразующий данные полученные от провайдера
- DeliveryCalculator\Result\Result - Результат работы калькулятора доставки
- DeliveryCalculator\Result\ResultItem - Результат работы калькулятора по конкретному провайдера