Как вызвать метод store класса cacheManager пакета liip_imagine в контроллере - PullRequest
0 голосов
/ 03 октября 2019

В настоящее время я использую Symfony 4.2 и пакет liip воображения.

Когда я использую этот пакет непосредственно в браузере, миниатюра создается напрямую, и все работает. Тем не менее, я хочу вызвать метод store() непосредственно в моем контроллере. Так что я могу получить ссылку этого представления с $cacheManager->resolve($path, $filter). Но если это первый раз, когда я сделал это:

if (!$cacheManager->isStored($path, $filter) {
    $resourcePath = $cacheManager->store(..., $path, $filter);
}

if ($liipCache->isStored($projectImageUrl, 'thumb')) {
    return new JsonResponse(['status' => 'yes']);
}
return new JsonResponse(['status' => 'no']);

Я не знаю, что я должен поставить вместо маленького ... Я попробовал метод resolve(), поэтому я получаю URL, но кэш не создан. Я также пытался загрузить зависимости, такие как Liip\ImagineBundle\Imagine\Data\DataManager и Liip\ImagineBundle\Imagine\Filter\FilterManager.

Но это не работает, я получаю эту ошибку:

Cannot autowire service "debug.argument_resolver.not_tagged_controller.inner": it references class "Liip\ImagineBundle\Imagine\Filter\FilterManager" but no such service exists. You should maybe alias this class to the existing "liip_imagine.filter.manager" service.
...