lireincore/imgcache-bundle

The lireincore/imgcache integration for the Symfony framework

0.3.0 2019-06-22 17:53 UTC

README

Build Status Latest Stable Version Total Downloads License

About

The lireincore/imgcache integration for Symfony framework.

Install

Add the "lireincore/imgcache-bundle": "^0.3" package to your require section in the composer.json file

or

$ php composer.phar require lireincore/imgcache-bundle

Usage

To use this bundle, you need to create the lireincore_imgcache.yaml file in your config/packages folder and paste this boilerplate:

# config/packages/lireincore_imgcache.yaml

lireincore_imgcache:
    srcdir: '%kernel.project_dir%/files'
    destdir: '%kernel.project_dir%/public/thumbs'
    webdir: '%kernel.project_dir%/public'
    presets:
        origin:
            effects:
                - { type: 'resize', params: { width: '50%', height: 100 } }
                - 'grayscale'

Add listener class and configure for event handling when thumb created (required symfony/event-dispatcher: ^4.3 or another psr-14 compatible dispatcher):

# config/services.yaml

services:
    Psr\EventDispatcher\EventDispatcherInterface: '@event_dispatcher'
    App\Event\ThumbCreatedListener:
        tags:
            - { name: kernel.event_listener, event: LireinCore\ImgCache\Event\ThumbCreatedEvent, method: onThumbCreated }

See lireincore/imgcache README.md for more information about the available effects and other config options.

Use in your code:

$imgcache = $this->container->get('lireincore_imgcache.service.imgcache');
// get thumb url for image '{srcdir}/blog/image.jpg' (preset 'origin')
$url = $imgcache->url('blog/image.jpg', 'origin');

See lireincore/imgcache README.md for more information about the available functions.

License

This project is licensed under the MIT License - see the License File file for details