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.
- PHP 7.4 or higher
- Symfony 5.0 or higher
- GD Library or Imagick PHP extension
You can install the bundle using Composer:
composer require dahromy/glide-symfony
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
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">
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]);
// ...
}
}
- On-the-fly image manipulation
- Preset configurations for common image sizes
- Secure image URLs with signing
- Easy integration with Twig templates and controllers
Contributions are welcome! Please feel free to submit a Pull Request.
This bundle is open-sourced software licensed under the MIT license.