rmzamora/media-bundle
A PHP media management bundle for handling uploads, storage, and image processing. It provides configurable storage adapters, thumbnail generation, metadata handling, and a simple API for attaching media files to your application's models and entities.
composer require.Realistically: only in one narrow case.
src/ or an internal vendor namespace you control, and record the provenance and license (Sonata bundles are typically MIT/BSD-family — verify before vendoring) so the patches are yours to own.Look elsewhere if any of the following is true — which, for most teams, is all of them:
spatie/laravel-medialibrary for the asset model and conversions, intervention/image for transforms, and Flysystem for storage. This is a well-trodden path with active maintenance and a large hiring pool that already knows it.sonata-project/SonataMediaBundle if you want the full Sonata admin ecosystem, or compose smaller pieces — VichUploaderBundle for entity-attached files, LiipImagineBundle for thumbnail/filter pipelines, oneup/uploader-bundle for multi-file upload UX. Smaller, individually maintained, and each replaceable.Executive summary: We evaluated rmzamora/media-bundle for media/asset handling and recommend do not adopt. It is an archived, zero-adoption fork of a Symfony bundle, and it does not fit a Laravel codebase at all. The capability it addresses is legitimate and worth funding; this artifact is not the way to get it.
To executives: The risk here is asymmetric. The upside of adopting is saving maybe a sprint of integration work. The downside is inheriting an unmaintained codebase with no upstream fixes, no security patches, and no one to call — at which point we pay that sprint back with interest during the next framework or PHP upgrade. We recommend a maintained off-the-shelf library or a managed media service instead, and we can size both.
To engineering: Treat this repo as a reference implementation, not a dependency. If there are specific patches in it worth keeping, vendor the files into our own namespace and take ownership explicitly. Otherwise, standardize on the maintained option for our framework (medialibrary + intervention + Flysystem on Laravel; upstream Sonata or Vich/Liip/Oneup on Symfony), or a managed CDN-backed service if we want to stop owning transforms.
Ask: Close the evaluation, pick a maintained path this quarter, and add a rule that archived or zero-dependent packages need an explicit, documented exception to enter the dependency tree.
How can I help you explore Laravel packages today?