https://symfony.com/bundles/LiipImagineBundle/2.x/index.html LiipImagineBundle — это пакет для Symfony, предоставляющий набор инструментов для манипуляции изображениями. Основные возможности включают:

  • Встроенные фильтры и постпроцессоры: пакет содержит готовые фильтры для типичных задач (например, thumbnail — миниатюра, background — фон и т.п.) и постпроцессоры для дополнительной обработки итоговых бинарных файлов изображений.
  • Поддержка разных форматов, включая JPEG, PNG, GIF и WebP. Есть возможность настройки генерации WebP-версий изображений для лучшей оптимизации качества и размера, с запасным вариантом для браузеров без поддержки WebP.
  • Кэширование: изображения, обработанные фильтрами, кешируются с возможностью настройки кэш-резолверов (например, хранение кэша в папке веб-сервера).
  • Интеграция с Twig: доступен фильтр в шаблонизаторе Twig, что облегчает использование обработанных изображений в шаблонах.
  • Консольные команды: для управления кэшем изображений, например, очистки или получения URL кэшированных изображений.

Главное помнить: манипуляции с изображениями "на лету" чреваты тем, что пользователи могут очень долго получать страницу на непрогретом кеше. Поэтому его надо обновлять после изменения основного изображения. Дополнительно, можно использовать https://github.com/evanw/thumbhash и отображать пользователю это превью, пока основная картинка готовится.