Symfony: определение ограниченного класса HttpClient

#php #symfony #symfony-http-client

#php #symfony #symfony-http-клиент

Вопрос:

В моем приложении Symfony 5.1 я использую несколько ограниченных http-клиентов, определенных в моем framework.yaml:

 framework:
    http_client:
        scoped_clients:
            my_client:
                  ....
            example_client:
                base_uri: 'https://example.com/...'
                headers:
                    Accept: 'application/json'
                    Connection: 'keep-alive'
            ....
  

Как я могу настроить symfony на использование CurlHttpClient для «my_client» и NativeHttpClient для «example_client»?

Ответ №1:

Достаточно добавить это Scoped Client в свой класс обслуживания:

 public function __construct(HttpClientInterface $exampleClient)
{
    $this->httpClient = $exampleClient;
}
  

Как вы можете видеть $exampleClient , соответствует example_client .

См. https://symfony.com/doc/current/http_client.html#scoping-client (да, эта документация неточна)