В настоящее время я использую 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.