LiipImagineBundle - это бандл для Symfony, который предоставляет интеграцию и расширение функциональности библиотеки Imagine для обработки и изменения изображений. Чтобы настроить бандл в Symfony, выполните следующие шаги:
1. Установите бандл с помощью Composer:
composer require liip/imagine-bundle
2. Активируйте бандл, добавив его в файле config/bundles.php
:
LiipImagineBundleLiipImagineBundle::class => ['all' => true],
3. Задайте настройки бандла в файле конфигурации config/packages/liip_imagine.yaml
. Пример основных настроек можно найти на официальном сайте бандла или использовать следующий пример:
liip_imagine: resolvers: default: web_path: web_root: '%kernel.project_dir%/public' cache_prefix: media/cache filter_sets: cache: ~ my_filter: quality: 75 filters: strip: # Удаляет метаданные изображения mode: strip thumbnail: # Создает эскиз изображения size: [120, 90] mode: outbound allow_upscale: false
В данном примере мы настроили один резолвер default
, который использует путь веб-корня вашего проекта, и определили два набора фильтров cache
и my_filter
, в которых определены различные операции над изображениями.
4. Настройте роуты в файле config/routes/liip_imagine.yaml
. Это позволяет генерировать URL изображений на основе фильтров. В данном примере мы настроим один маршрут с именем liip_imagine_filter
:
_liip_imagine: resource: '@LiipImagineBundle/Resources/config/routing.xml'
5. Используйте LiipImagineBundleImagineCacheCacheManager
для создания и управления кэшем изображений:
use LiipImagineBundleImagineCacheCacheManager; // ... public function myAction(CacheManager $cacheManager) { $imagePath = 'path/to/image.jpg'; $filteredImageURL = $cacheManager->getBrowserPath($imagePath, 'my_filter'); // Используйте $filteredImageURL для отображения изображения на клиента }
Обратите внимание, что вы должны указать путь к изображению и имя фильтра, настроенные в liip_imagine.yaml
.
Также, в зависимости от ваших потребностей, вы можете настроить дополнительные опции, такие как кэширование изображений или добавление собственных фильтров.
Надеюсь, это подробное руководство поможет вам настроить liip_imagine
в Symfony.