Я хочу внедрить клиентское жало в мои сервисы, оно очень хорошо работает для одного клиента.
services.yml
// ....
GuzzleHttp\ClientInterface: "@eight_points_guzzle.client.client1"
Когда я внедряю его в мой клиент, он правильно настроен
Но!
У меня есть два разных клиента в моей конфигурации для внедрения в службы.
Я проверил, чтобы создать класс для определенного настроенного клиента, который расширяет основной клиент следующим образом:
namespace AppBundle\Service\Guzzle;
use GuzzleHttp\Client;
class ClientApi extends Client
{
/**
* ClientApi constructor.
*/
public function __construct(array $config)
{
parent::__construct($config);
}
}
И я добавляю конфигурацию так:
services.yml
// ...
AppBundle\Service\Guzzle\ClientApi: "@eight_points_guzzle.client.api"
Но каждый раз, когда я пытаюсь внедрить его в другой сервис с автоматической проводной связью, подобный этому:
MyClass{
public function __construct(EngineInterface $twig, ClientApi $clientApi)
{
$this->twig = $twig;
$this->guzzleClient = $clientApi;
}
}
Возвращает мне эту ошибку:
Type error: Argument 2 passed to AppBundle\Service\MyClass::__construct()
must be an instance of AppBundle\Service\Guzzle\ClientApi,
instance of GuzzleHttp\Client given, ....
любая помощь будет приветствоваться