(Symfony 4) Невозможно внедрить библиотеку github, которую я установил с композитором

Я установил следующую библиотеку с GitHub: https://github.com/rosell-dk/webp-конвертировать

Расположение основного класса, который мне нужен (из корня проекта):

\vendor\rosell-dk\webp-convert\src\WebPConvert.php

Вот как начинается класс WebPConvert.php:

namespace WebPConvert;

use WebPConvert\Converters\ConverterHelper;
use WebPConvert\ServeExistingOrConvert;
use WebPConvert\Serve\ServeExistingOrHandOver;

class WebPConvert
{

В классе репозитория, где я его использую, вот как я пытался сделать инъекцию зависимостей:

use WebPConvert\WebPConvert;

class PhotoRepository extends ServiceEntityRepository
{

    /**
     * @var WebPConvert
     */
    protected $webPConverter;

    public function __construct(WebPConvert $webPConverter)
    {
        $this->webPConverter = $webPConverter;
    }

Я следовал инструкциям от https://symfony.com/doc/current/service_container.html

Но я все еще получаю это сообщение:

Cannot autowire service "App\Repository\PhotoRepository": argument "$webPConverter" of method "__construct()" references class "WebPConvert\WebPConvert" but no such service exists.

Я даже пытался поместить это в свой services.yaml, и это не сработало:

App\Repository\PhotoRepository:
    arguments:
        - WebPConvert\WebPConvert

Есть ли дополнительный шаг, который я пропустил?

WebPConvert не является пакетом Symfony, поэтому в нем не будут определены какие-либо сервисы. Вам придется определить их вручную. На самом деле, из файла readme видно, что WebPConvert::convert — это статический метод, поэтому вводить нечего. Просто следуйте примеру.

Cerad 01.03.2019 02:17

Спасибо Серад, это работает. Многое оценил.

Brent Heigold 01.03.2019 03:03
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
2
2
164
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это ответ Серада, который сработал:

WebPConvert не является пакетом Symfony, поэтому в нем не будут определены какие-либо сервисы. Вам придется определить их вручную. На самом деле, из файла readme видно, что WebPConvert::convert — это статический метод, поэтому вводить нечего. Просто следуйте примеру.

Другие вопросы по теме