Вкл. (Symfony 4) Как получить доступ к пакету Liip Imagine из кода PHP? Я нашел решение использовать кэш Liip Imagine, но не могу заставить его работать.Два решения, ни одно из них не работает для меня.У меня нет абсолютно никакой идеи, почему.
Когда я пробую решение вредителя с
$imagineCacheManager = $this->get('liip_imagine.cache.manager');
в моем контроллере, я получаю ServiceNotFoundException
Сервис "liip_imagine.cache.manager"не найден: даже если он существует в контейнере приложения, контейнер внутри «App \ Controller \ MemberController» является меньшим локатором службы, который знает только о «doctrine», «form.factory», «http_kernel», «parameter_bag»,Услуги «request_stack», «router», «security.authorization_checker», «security.csrf.token_manager», «security.token_storage», «serializer», «session» и «twig».Вместо этого попробуйте использовать внедрение зависимостей.
Поэтому я попробовал предложение Алистера Булмана добавить его вручную в класс в service.yaml, но это тоже не сработало.
В моем service.yaml Iиметь
app.imagine_cache_manager:
class: Liip\ImagineBundle\Imagine\Cache\CacheManager
arguments: ["@liip_imagine.cache.manager"]
В моем контроллере у меня есть
$imagineCacheManager = $this->get('app.imagine_cache_manager');
, что приводит меня к тому же исключению
Служба "app.imagine_cache_manager" не найдена: дажехотя он существует в контейнере приложения, контейнер внутри «App \ Controller \ MemberController» является меньшим локатором службы, который знает только о «doctrine», «form.factory», «http_kernel», «parameter_bag», «request_stack»,сервисы "router", "security.authorization_checker", "security.csrf.token_manager", "security.token_storage", "serializer", "session" и "twig".Попробуйте вместо этого использовать внедрение зависимостей.
[Кстати, на самом деле я пытаюсь сделать следующее: у меня есть участники, и у каждого участника есть изображение.Создание члена У меня есть загрузка изображения и позвольте Liip создавать измененные изображения основного изображения.Когда я удаляю изображение или элемент, конечно, я также хочу удалить кэшированные изображения с помощью Liip.Вот почему я пытаюсь заставить менеджер кеша Liip получать пути к кэшированным изображениям, чтобы можно было их удалять.Другой подход состоял в том, чтобы иметь прослушиватель событий, но это не сработало и для меня.Я подведу итоги подхода Слушателя в другом вопросе.]