Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Media Bundle Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Media/asset management scoping — but as a negative signal, not a build input. The underlying capability (upload, transform, thumbnail, gallery, and storage abstraction for images and video) is a real, recurring product need for any CMS, marketplace, or catalog surface. This package is a fork of SonataMediaBundle, the Symfony media bundle, so it tells you what the feature surface looks like — not what you should ship on.
  • Framework-strategy check. Despite being filed under "Laravel/PHP," this is a Symfony bundle with a Symfony bundle registration and service-container model. If your roadmap assumes Laravel, this is a hard architectural mismatch and should be closed out of the evaluation immediately rather than carried in a backlog.
  • Build vs. buy vs. fork — the fork column has a clear answer. 0 stars, 0 dependents, archived, and a score of 0 are not "early-stage project" signals; they are "the maintainer stopped." Adopting a fork as a dependency means you are implicitly signing up to maintain a fork of a fork. That is a headcount decision disguised as a composer require.
  • Roadmap hygiene. Anything currently pointing at this repo should be re-pointed at a maintained alternative, or the capability should be scheduled explicitly. An archived dependency is a latent security and upgrade-blocker that surfaces at the worst possible time (PHP minor upgrade, framework major upgrade, CVE scan in a customer security review).

When to Consider This Package

Realistically: only in one narrow case.

  • You are already running a legacy Symfony application on a Sonata-based stack, you have a specific patch that lives only in this fork, and you have no appetite to migrate media handling right now. Even then, do not declare this repo as a Composer dependency from a 0-star, archived source — copy the relevant code into your own 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:

  • You're on Laravel. Use 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.
  • You're on modern Symfony. Go to the upstream 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.
  • You don't want to own image infrastructure at all. Cloudinary, imgix, or Uploadcare shift transforms, responsive variants, and CDN delivery to a vendor. For most product teams this is cheaper than the engineering time to run transforms and cache invalidation, and it turns a build-vs-buy question into a line item.
  • Any requirement touching security review, SOC2, or a customer questionnaire. An archived dependency is a finding. Expect to write an exception.

How to Pitch It (Stakeholders)

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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core