swp/storage
A lightweight Laravel package that simplifies file storage management. It provides a clean abstraction over disks, with helpers for uploads, retrieval, deletion, and path handling, making it easy to work with local or cloud storage consistently across your application.
The package is a read-only subtree split of the Storage component bundled inside Superdesk Web Publisher (SWP). It is not a Laravel package — it is a Symfony-oriented PHP component. Treat it as a library of storage abstractions, not a full storage solution.
Minimal steps:
composer require swp/storage). Because the split mirrors the monorepo, pin the version and commit the lockfile; the split sees few releases (last tagged 2018), so expect to track the upstream SuperdeskWebPublisher/storage repo for anything newer.src/ tree and locate the core contract (the StorageInterface/adapter abstraction) and the concrete adapters shipped alongside it (typically a local-filesystem adapter plus an object-store adapter such as S3, often wrapping Flysystem).composer.json requirements to see which Symfony/PSR/Flysystem versions are expected. This immediately tells you whether it will slot into a modern Laravel app unmodified or need forking.If you are on Laravel, budget time for the first step being evaluation rather than integration — the component predates and does not target the Laravel ecosystem.
config/filesystems.php-style config rather than environment lookups scattered in code.composer.json for Flysystem and align your app's version — this is the most likely integration friction point.SuperdeskWebPublisher/storage upstream. The split can lag or diverge, and issue trackers on the split are typically dead.composer update as something you control manually.Bottom line: the reusable ideas are the interface-first adapter design and the decoupled path resolver. The package itself is stale, AGPL, single-maintainer, and not Laravel-native — so adopt the pattern, and only adopt the code if you are already inside the SWP ecosystem or willing to vendory/fork and accept the licensing and maintenance burden.
How can I help you explore Laravel packages today?