v0.8.0
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);