#symfony4 #shopware
#symfony4 #программное обеспечение
Вопрос:
Я должен использовать HttpClientInterface
на своей странице обслуживания. Итак, я определил следующим образом:
use SymfonyContractsHttpClientHttpClientInterface;
public function __construct(HttpClientInterface $httpClient)
{
$this->httpClient = $httpClient;
}
В моем services.xml
файле я также пытаюсь передать аргумент, а также установить autowiring
<!-- SERVICES -->
<service id="SwagMasterBundleServiceProductManager" autowire="true" autoconfigure="true">
<argument id="SymfonyContractsHttpClientHttpClientInterface" type="service" key="$httpClient"></argument>
</service>
Но я получаю ошибку:
The service "SwagMasterBundleServiceProductManager" has a dependency on a non-existent service "SymfonyContractsHttpClientHttpClientInterface".
Кто-нибудь может мне помочь, что я здесь сделал не так?
Спасибо.
Ответ №1:
Вы не можете ожидать интерфейса, поскольку интерфейс должен быть реализован из конкретного класса. Итак, в вашем случае вам нужен конкретный объект — службы Symfony — это простые объекты.
Пожалуйста, сначала ознакомьтесь с основами объектно-ориентированного программирования.
Редактировать: также автоматическое подключение и определение данных служб не имеет смысла. Позвольте фреймворку определить необходимый объект или сделать это самостоятельно, но выберите один вариант, а не оба одновременно.
Комментарии:
1. хорошо, но как я могу использовать HttpClient в Shopware 6. Я использовал тот же способ в проекте symfony.