enhavo/media-bundle
Enhavo MediaBundle is a subtree split of the open source Enhavo CMS, a flexible PHP project built on the Symfony fullstack framework for managing complex data structures through a clean, usable interface. See the main repository for details.
Verdict up front: this is not a Laravel package. enhavo/media-bundle is a Symfony bundle, and more specifically a read-only subtree split of the Enhavo CMS monorepo. That single fact collapses most of the usual "should we adopt this?" decision tree.
What it actually informs:
enhavo/media-bundle; you adopt Enhavo, and this comes along with it. Frame the decision as "Enhavo CMS vs. alternatives," not "this bundle vs. that bundle."[READ-ONLY] subtree split, you cannot reasonably fork-and-patch it as a first-class dependency. Any feature work routes through the main enhavo/enhavo repository. That's a hard constraint on delivery timelines and needs to be in the plan, not discovered mid-sprint.It does not support: any media-handling decision in a Laravel codebase — wrong framework, wrong DI container, wrong conventions.
Adopt consideration is narrow and essentially reduces to one scenario:
Look elsewhere when:
spatie/laravel-medialibrary (local/disk-backed, mature, well-documented), Flysystem for storage abstraction, or a hosted DAM (Cloudinary, imgix, Bynder) if asset governance matters.sonata-project/media-bundle, liip/imagine-bundle, or VichUploader — these have independent release cycles, docs, and user bases. This one has none of those.To executives (30 seconds): "The package we looked at, enhavo/media-bundle, is not a standalone library — it's an internal module of an open-source CMS called Enhavo, published as a read-only mirror. Adopting it means adopting Enhavo entirely. On its own it has effectively zero adoption (2 GitHub stars, no downstream dependents), so it brings no community, no independent support, and no release cadence we can rely on. Recommendation: do not take it as a dependency. If we're genuinely interested in Enhavo as a platform, we should evaluate Enhavo as a platform — different, larger decision with its own due diligence."
To engineering (the useful part): "It's a Symfony subtree split of enhavo/enhavo, MIT, read-only — meaning patches go upstream, not into our fork, or we own a permanent merge burden. It's not Laravel and won't drop into a Laravel app. If someone on the team wants media handling for a Laravel service, point them at spatie/laravel-medialibrary; if they want it for a Symfony service, sonata-project/media-bundle or VichUploader are the sane starting points. Only pull this in as a transitive part of a full Enhavo install, and budget time to read source rather than docs, because there aren't any."
The honest framing: this is a low-signal artifact in a package index, not a product choice. The valuable outcome of the assessment is ruling it out cheaply and redirecting the team to the two or three options that actually fit the stack.
How can I help you explore Laravel packages today?