Bundle for working with Plastek API (https://plas-tek.ru)
Symfony Plastek Bundle предназначен для работы с API Пластэк.
Данный бандл может быть установлен с помощью Composer.
Откройте командную консоль, перейдите в каталог вашего проекта и выполните:
composer require a-malinoff/plastek-bundle
Откройте командную консоль, перейдите в каталог вашего проекта и выполните следующую команду, чтобы загрузить последнюю стабильную версию этого пакета:
composer require a-malinoff/plastek-bundle
Включите пакет, добавив его в список зарегистрированных пакетов в файле app/AppKernel.php
вашего проекта:
<?php
// app/AppKernel.php
// ...
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
// ...
new Malinoff\PlastekBundle\MalinoffPlastekBundle(),
);
// ...
}
// ...
}
Создайте файл конфигурации config/packages/platek.yaml
malinoff_plastek:
api_url: 'https://delivery-svc.plas-tek.ru/CoreDeliveryDebug'
# https://delivery-svc.plas-tek.ru/CoreDeliveryDebug - Отладочный АПИ
# https://delivery-svc.plas-tek.ru/CoreDelivery - Рабочий АПИ
version: 'v1'
password: ''
# необходимо указать пароль, выданный сервисом Пластэк
debug: false
# По умолчанию режим отладки соответствует окружению (dev: debug=true, prod: debug=false)
timeout: 20
Прежде всего, необходимо подключить для работы сервис PlastekClient
<?php
// ...
use Malinoff\PlastekBundle\Services\PlastekClient;
class BaseController extends AbstractController
{
private $plastekClient;
public function __construct(PlastekClient $plastekClient)
{
$this->plastekClient = $plastekClient;
}
}
Для отправки запроса используется метод send. В данный метод передается объект, реализующий интерфейс Malinoff\PlastekBundle\Services\Request\RequestInterface
.
Объектом запроса может являться заполненный экземпляр одного из классов, расположенных в Malinoff\PlastekBundle\Services\Request
.
В ответ метод send вернет соответствующий объект ответа. (классы ответов тут - Malinoff\PlastekBundle\Services\Response
).
Связки классов запросов-ответов соответствуют АПИ-методам Пластек.
Описание всех методов приводится в документации.
Дополнительно, предоставлена возможность создавать свои классы запросов и ответов (на случай, если не подойдёт имеющийся набор классов Requests - Responses)
Для этого зарегистрируйте сервис, реализующий интерфейс Malinoff\PlastekBundle\Services\FillPlastekFactoryInterface
Сервис должен вернуть массив связок вида "Класс запроса" => "Класс ответа"
, например:
public static function getMap(): array
{
return [
FirstExampleRequest::class => FirstExampleResponse::class,
];
}
MIT License © A-Malinoff