- Can I install johnkrovitch/media-bundle in a Laravel application?
- Not as a drop-in. The -bundle suffix is a Symfony convention, and Laravel has no bundle concept: there is no Bundle class, Kernel registration, or extension configuration tree to hook into. Laravel packages must expose a ServiceProvider, and optionally a Facade and publishable config, none of which this package ships. You would need to write that adapter yourself or vendor the source and strip the Symfony wiring.
- Is johnkrovitch/media-bundle still maintained?
- No meaningful maintenance is visible. The last release was 2020-07-13, roughly six years ago, with a single maintainer, no release cadence, and no public security patch path. For a security-sensitive domain like file uploads, that means there is no route to get fixes if a vulnerability is found.
- Which PHP and Laravel versions does johnkrovitch/media-bundle support?
- The last release predates PHP 8.0, Laravel 8, Symfony 5.2, and Flysystem v2 and v3, so it is structurally a PHP 7.4 / Symfony 4 era artifact. Expect Composer to fail resolving it against a modern Laravel application because of conflicting PHP and transitive dependency constraints. Verify the actual composer.json requirements before assuming any version works.
- How does johnkrovitch/media-bundle handle uploads and MIME validation?
- The package bundles upload handling with validation and MIME-type checks, plus configurable paths, naming strategies, and metadata extraction. In a Laravel app, though, you should let Laravel's own validation rules and Storage facade be the single source of truth for uploads. Running both layers leaves two upload paths and two validation models in the codebase, which is a reliable source of defects.
- Does johnkrovitch/media-bundle support S3 or remote filesystems?
- It advertises pluggable storage adapters for local and remote filesystems, but the shipped adapters almost certainly target an old Flysystem major version. That makes them incompatible with Laravel's current Storage facade, which is built on Flysystem 3. The practical integration is to keep the package's domain logic and delegate all storage operations to Laravel's Storage layer instead.
- Is johnkrovitch/media-bundle safe for production media uploads?
- Treat it as unsafe without an audit. Media handling is one of the highest-risk surfaces in a web app: MIME sniffing, polyglot files, SVG sanitization, path traversal, arbitrary file writes, and storage permissions all matter. Unmaintained 2020-era code carries whatever defects existed then, and media bugs tend to stay silent until they are exploited.
- What are the alternatives to johnkrovitch/media-bundle for Laravel?
- Use a Laravel-native package maintained against current framework versions, such as spatie/laravel-medialibrary, rather than adapting a Symfony bundle with 1 star and 0 dependents. There is no field-proven happy path for this package in either the Symfony or Laravel ecosystem, so you would be the first to validate it. If you need custom behaviour, a small in-house media service built on Laravel Storage and Validation is usually cheaper than an adapter.
- Does johnkrovitch/media-bundle include image resizing and thumbnails?
- Yes, the package provides image processing hooks for resizing and thumbnail generation, alongside configurable paths and naming strategies. The concern is the underlying imaging library: any 2020-era dependency will likely be end-of-life and may not install on PHP 8.2 or 8.3. Check what it actually depends on before planning to use those hooks.
- How do I test johnkrovitch/media-bundle in a Laravel test suite?
- There is no observable CI configuration or test suite in the repository, so you cannot rely on upstream coverage. If you fork it, add your own tests around the upload, validation, and storage boundaries, and use Laravel's Storage::fake in integration tests. Pin the fork to a specific commit so an abandoned upstream cannot break your pipeline.
- Should I fork johnkrovitch/media-bundle or rewrite media handling in Laravel?
- That depends entirely on whether the repository has a framework-agnostic core or has business logic interleaved with Symfony's DI container, EventDispatcher, HttpFoundation, and Doctrine. If the core is clean, vendoring it, stripping the Symfony glue, and exposing a ServiceProvider with a bound MediaManager contract is a reasonable one-to-two day job. If the coupling is deep, the adapter cost exceeds a clean rewrite. The MIT license is the one unambiguously positive signal: forking and relicensing internally is legally unencumbered.