Skip to content

v0.8.0

Compare
Choose a tag to compare
@gam6itko gam6itko released this 28 May 14:17
· 76 commits to master since this release

AbstractService избавлен от использования конкретной (GuzzleHttp\Psr7\Request) реализации Psr\Http\Message\RequestInterface и теперь больше работает с абстракциями.

В конструктор наследников AbstractService теперь необходимо передать реализации Psr\Http\MessageRequestFactoryInterface и Psr\Http\StreamFactoryInterface. Если клиент, переданный 2ым аргументом в конструктор реализует эти интерфейсы (eg Symfony\Component\HttpClient\Psr18Client), то 3ий и 4ый аргумент можно опустить.

use Gam6itko\OzonSeller\Service\V1\CategoriesService;
use GuzzleHttp\Client as GuzzleClient;
use Http\Adapter\Guzzle6\Client as GuzzleAdapter;
use Http\Factory\Guzzle\RequestFactory;
use Http\Factory\Guzzle\StreamFactory;

$config = [
    'clientId' => '<ozon seller client-id>',
    'apiKey' => '<ozon seller api-key>',
    'host' => 'http://cb-api.ozonru.me/'
];
$client = new GuzzleAdapter(new GuzzleClient());
$requestFactory = new RequestFactory();
$streamFactory = new StreamFactory();

$svc = new CategoriesService($config, $client, $requestFactory, $streamFactory);
use Gam6itko\OzonSeller\Service\V1\ProductService;
use Symfony\Component\HttpClient\Psr18Client;

$client = new Psr18Client();
$svc = new ProductService($config, $client);