dahromy / glide-symfony
Symfony bundle for Glide image manipulation library
Installs: 45
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 1
Type:symfony-bundle
Requires
- php: >=7.4
- league/glide-symfony: 2.0.1
- symfony/framework-bundle: ^5.0|^6.0|^7.0
- symfony/twig-bundle: ^5.0|^6.0|^7.0
README
DahRomyGlideBundle is a Symfony bundle that integrates the Glide image manipulation library into your Symfony application. It provides an easy way to manipulate and serve images on-the-fly.
For more information about Glide and its capabilities, please refer to the official Glide documentation.
Requirements
- PHP 7.4 or higher
- Symfony 5.0 or higher
- GD Library or Imagick PHP extension
Installation
You can install the bundle using Composer:
composer require dahromy/glide-symfony
Configuration
After installing the bundle, you need to configure it in your config/packages/glide.yaml
file. Here's an example configuration with default values:
glide: source: '%kernel.project_dir%/public/images' cache: '%kernel.project_dir%/public/cache' driver: gd # Options: gd, imagick defaults: q: 90 fm: 'auto' presets: small: w: 200 h: 200 fit: crop medium: w: 600 h: 400 fit: crop
Usage
In Twig Templates
You can use the glide_asset
Twig function or the glide
filter to generate URLs for your images:
- Using the
glide_asset
function:
<img src="{{ glide_asset('path/to/image.jpg', {w: 300, h: 200}) }}" alt="My Image">
Or use a preset:
<img src="{{ glide_asset('path/to/image.jpg', {}, 'small') }}" alt="My Image">
- Using the
glide
filter:
<img src="{{ 'path/to/image.jpg'|glide({w: 300, h: 200}) }}" alt="My Image">
With a preset:
<img src="{{ 'path/to/image.jpg'|glide({}, 'small') }}" alt="My Image">
In Controllers
You can use the GlideService
in your controllers to generate image URLs or get image responses:
use DahRomy\Glide\Service\GlideService; class MyController extends AbstractController { public function myAction(GlideService $glideService) { $imageUrl = $glideService->getImageUrl('path/to/image.jpg', ['w' => 300, 'h' => 200]); // Or get the image response directly $response = $glideService->getImageResponse('path/to/image.jpg', ['w' => 300, 'h' => 200]); // ... } }
Features
- On-the-fly image manipulation
- Preset configurations for common image sizes
- Secure image URLs with signing
- Easy integration with Twig templates and controllers
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This bundle is open-sourced software licensed under the MIT license.