cakephp/filesystem
CakePHP Filesystem provides utilities for working with files and directories, including the Folder and File classes for creating, reading, writing, and managing paths. A lightweight standalone library usable in any PHP project.
cakephp/filesystem provides File and Folder helpers for recursive copy/move/delete, directory trees, permissions, path normalization, and mime/extension inspection. The decision it informs is whether to hand-roll this logic in service classes or adopt a small, maintained utility — and, for a Laravel shop, whether that utility should be Laravel's own Illuminate\Filesystem instead.Adopt only when most of these hold:
cakephp/cakephp monorepo. Contribution and support paths are indirect.Look elsewhere when:
Illuminate\Filesystem\Filesystem, the Storage facade, and Flysystem adapters. Adding this package introduces a redundant API surface, a second set of exception types, and two ways to do the same thing — a real onboarding and code-review tax.league/flysystem.symfony/filesystem has broader adoption and a larger contributor base.For executives: A small, free, MIT-licensed helper library for file and folder operations — copying, deleting, listing, permissions. It reduces the amount of custom low-level code we write for routine file chores, which cuts defect surface in unglamorous but failure-prone areas like importers and cleanup jobs.
For engineering: Mature, stable, minimal API (File, Folder) maintained by the CakePHP core team. Two caveats we should weigh honestly: it is a read-only mirror with low visibility (19 stars), so support runs through the CakePHP monorepo; and it overlaps almost entirely with what Laravel already provides. Recommendation: do not adopt for the Laravel services — standardize on Illuminate\Filesystem plus Flysystem for storage. Consider it only if we take on CakePHP components, and then pin the version and treat it as code we may need to patch ourselves. Net: low cost, low risk, but also low incremental value for our current stack — a "no" with a clear rationale rather than an unresearched "maybe."
How can I help you explore Laravel packages today?