league/glide-symfony
Glide adapter for Symfony integrates the Glide image manipulation library into Symfony applications, enabling on-the-fly image resizing and cropping via a simple URL-based API.
league/glide-symfony is a Symfony bundle (registers a GlideBundle, mounts a /glide route, YAML/env config). In a Laravel/PHP app it is the wrong dependency — it will not bootstrap without Symfony's HttpKernel. The correct Laravel decision is league/glide directly behind a thin controller/route (roughly 50–100 lines of glue), or an existing Laravel image package.league/glide is far more defensible than this adapter.Adopt if:
league/glide, and you want the DI/config/route wiring off the shelf.Look elsewhere if:
league/glide behind a route/controller and write the glue, or evaluate intervention/image / spatie/laravel-image-optimizer for the transform layer. The concept transfers; this package does not.Gating questions before committing: Which framework is the host app (deciding question — Laravel means out of scope)? What are the source and cache Flysystem backends, and are they shared across nodes (local disk is disqualified for multi-server)? What is the CDN/HTTP cache and cache-invalidation story when a source image changes? What rate limiting sits in front of /glide? Who owns the dependency-review pin policy given the low dependent count?
For executives: We don't need to build an image pipeline. Glide is a mature, MIT-licensed library that resizes, crops, and converts images on demand from a URL, with caching built in — no pre-generated variant library, no storage blowup. The package in front of us (league/glide-symfony) is a small adapter that saves roughly a sprint of glue code, but only if our app is Symfony. Because our stack is Laravel/PHP, the honest recommendation is to adopt league/glide directly with a thin in-house controller: same capability, smaller and more defensible dependency, no Symfony components dragged in. Either path is low-risk and reversible; both should sit behind a CDN and a rate-limited endpoint so image traffic doesn't hit PHP workers on every request.
For engineering: Framing matters — this is a Symfony bundle (bundle registration, /glide route, YAML/env config for source and cache Flysystem disks), not a Laravel package. If we were on Symfony it would be a one-hour setup; on Laravel the correct work is: composer require league/glide, expose a single signed/validated transform route, point source and cache at shared object storage (never node-local disk), add HTTP cache headers plus a CDN, and constrain allowed transforms to bound CPU and memory. Budgeted effort is small; the genuine ongoing cost is governance — the adapter has 104 stars and zero dependents, so pin constraints and review at each framework LTS bump. Also flag the operational failure modes up front: unbounded resize requests as a DoS vector, stale derivatives after source updates, S3 throttling, and PHP memory exhaustion on very large uploads.
How can I help you explore Laravel packages today?