- How do I install ethical-jobs/laravel-storage in a Laravel application?
- Install it with Composer using composer require ethical-jobs/laravel-storage. Laravel package auto-discovery should register the service provider automatically; if the package ships a config file you will typically publish it with php artisan vendor:publish. Check the package's composer.json constraints before installing so you do not pull in an illuminate/* version that conflicts with your framework. Because adoption signals are effectively zero, verify the installed source rather than relying on documentation.
- Which Laravel and PHP versions does ethical-jobs/laravel-storage support?
- The context provided does not publish a confirmed support matrix, so inspect the illuminate/* and php constraints in the package's composer.json directly. A technical evaluation of this package flags compatibility as a medium-high risk and warns that a pinned older constraint would be a hard blocker on a Laravel 10 or 11 upgrade path. Run composer why-not ethical-jobs/laravel-storage against your target Laravel and PHP versions before committing. There is no evidence of a CI matrix proving support across versions.
- What does ethical-jobs/laravel-storage add beyond Laravel's built-in Storage facade?
- The package is described as providing storage helpers and configuration for managing file uploads and media across local and cloud disks, with the goal of consistent storage setup. That is largely convenience and convention on top of Laravel's native filesystem layer, which already handles disks, drivers, and the Storage facade. The evaluation notes that the public API surface is undocumented and should be audited in source before you trust it. For simple upload needs, native Storage may deliver the same value with no external dependency.
- Does ethical-jobs/laravel-storage work with S3 or other cloud disks?
- The package overview explicitly targets local and cloud disks, and in Laravel that normally means it delegates to filesystem disk drivers configured in config/filesystems.php. Actual S3, Rackspace, or Flysystem driver support depends on the underlying Laravel filesystem configuration rather than the package itself. Confirm in the source whether the helpers reference named disks generically or hard-code assumptions. Test against a fake or staging bucket before wiring it into production upload paths.
- Is ethical-jobs/laravel-storage safe to use in production?
- Treat it as an internal-style utility with high maintenance and abandonment risk: it has no stars, no known dependents, and single-organisation provenance. The practical assumption is that your team becomes the maintainer on day one, so read the source and add your own tests around the upload and disk-configuration paths. Wrap it behind an interface your application owns so a fork or replacement is a one-file change. This keeps the build-versus-adopt decision reversible if the package stops working with newer Laravel releases.
- What are the alternatives to ethical-jobs/laravel-storage?
- Laravel's native Storage facade and config/filesystems.php cover most upload and disk-management needs without any extra dependency. For richer media workflows, spatie/laravel-medialibrary and Intervention Image are common choices, and Flysystem adapters handle custom cloud backends. If you only need consistent disk configuration, a small internal helper class of your own is often the lowest-risk option. Compare against these before adding a package with no community or dependents.
- How do I test file uploads when using ethical-jobs/laravel-storage?
- Use Laravel's Storage::fake() to swap the disk for an in-memory or temporary filesystem in your test suite, then assert files exist with Storage::disk()->assertExists(). Override the package's published config in your test environment so helpers point at the fake disk rather than a real cloud bucket. Because the package has no visible test suite of its own, write your own coverage for its helper methods and config resolution. Pay particular attention to path generation and filename handling, which are the usual sources of upload bugs.
- Can I fork and vendor ethical-jobs/laravel-storage internally?
- Forking is technically straightforward for a small Composer package, but confirm the license terms in the repository first and check that they permit internal redistribution without friction. If the license is permissive, you can vendor the fork under your own namespace or a private Composer repository. Introducing it behind an internal adapter interface means applications never see the vendor namespace change if you take ownership. Keep the fork's composer.json constraints aligned with your Laravel and PHP targets.
- Will ethical-jobs/laravel-storage conflict with other Laravel packages?
- A storage-focused package rarely conflicts at runtime with packages like laravel/scout or query-builder filtering libraries, since it operates on the filesystem layer rather than Eloquent. The real risks are duplicate service-provider bindings, config key collisions, and overlapping helper names if you already have an internal storage abstraction. Run a conflict scan and compare its config file keys against your existing config/filesystems.php customisations. Also check whether it decorates or replaces any default Laravel disk behaviour.
- How should I migrate existing upload code onto this package?
- Do not retro-fit every controller at once. Introduce the package behind an internal interface you control, such as an App\Contracts\StorageService adapter, and migrate upload paths incrementally. That keeps package-specific types out of controllers and makes swapping to native Laravel Storage or a fork a single-file change. Given the low adoption signals, verify each helper's behaviour against your existing disk configuration before deleting old code.