kitpages/file-system-bundle
Kitpages FileSystemBundle is a Symfony bundle for working with files and directories through reusable filesystem services and helpers, simplifying common storage and file-management tasks in your applications.
Storage facade (Flysystem) already provides the streaming semantics it advertises. For a Laravel roadmap the honest conclusion is: do not adopt; borrow the constraint.Consider it only when all of the following hold:
Look elsewhere when:
Storage / Flysystem — maintained, first-party-adjacent, with broad adapter coverage and readStream / writeStream / streamDownload already covering the memory-bound case.Storage isn't being used.To executives: We evaluated a library that lets PHP move very large files without exhausting server memory — a 2 GB file inside a 128 MB process. The capability is real and worth holding as a standard. The library itself is a low-adoption Symfony component with no downstream users, no maintenance signal, and it does not fit our Laravel stack. Recommendation: do not add it as a dependency; adopt the constraint it demonstrates. Tooling we already have (Laravel Storage / Flysystem) covers the same ground with an active maintenance and security story. Net effect: we get the memory efficiency without unmaintained code or a second storage abstraction.
To engineering: Treat this repo as a design reference, not a dependency. The transferable rule: file operations must be stream-based — never accept or return a fully materialized $content string. Enforce it in code review and in our upload/download helpers. The portable asset is the adapter contract (path-in, handle-out) and the memory-flat benchmark, not the Symfony wiring; installation would collide on symfony/* constraints, PSR-0 autoloading, PHP 5.x idioms, and a stale AWS SDK. If we later find a concrete case where Storage::writeStream can't stay inside our memory budget, this bundle's adapter design is a useful starting point — but we write and own that code. Before mirroring any API surface, confirm it still matches the PHP version we run.
How can I help you explore Laravel packages today?