Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Php Filesystem Laravel Package

leovie/php-filesystem

A lightweight PHP filesystem library offering an object-oriented API for common file and directory operations such as reading, writing, listing, copying, and deleting. A simple drop-in helper for projects that need clean, dependency-free filesystem handling.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for a filesystem utility layer. This package addresses the narrow, recurring question of whether to hand-roll small filesystem helpers (read, write, copy, move, delete, existence checks) or pull in a wrapper. It is a data point for that decision, not a driver of it — the underlying functionality is ~100–300 lines of code most teams will rewrite in an afternoon.
  • Dependency hygiene and supply-chain posture. With 0 stars, 0 dependents, and a single-maintainer history, the package remains a useful example in a "third-party dependency acceptance criteria" discussion: what evidence do we require before adding a package? v2.0.1 is itself instructive — the only change is correcting a packaging mistake, which is exactly the class of issue a dependency review should catch before adoption rather than after.
  • Abstraction-layer roadmap calls. If the team is debating introducing a filesystem service interface (to swap local disk for S3, or to centralize temp-file cleanup in batch jobs), this package represents one candidate shape for that interface. Reviewing it is cheap and clarifies requirements — exception-based error handling vs. boolean returns, path normalization, permission handling.
  • Use-case scoping for small operational features. Data import/export jobs, generated reports, media ingestion, and temp-file lifecycle management are the realistic contexts. None of these are strategic differentiators, so the decision should be made on maintenance cost, not capability.
  • Not supported: platform architecture, cloud storage strategy, or anything involving scale, concurrency, or compliance. The package's surface area is too small, and its maintenance signal too thin, to inform those.

PM read: this remains a low-signal input (opportunity score 28.25, package score 0.2). The 2.0.1 release is a packaging correction, not a capability or stability investment. Treat it as a reference implementation to skim, not a component to standardize on.

When to Consider This Package

Consider it only if:

  • The context is a small, non-critical, internal PHP tool with no framework, where a thin exception-throwing wrapper over native filesystem calls is genuinely useful.
  • You intend to vendor or fork it — the codebase is small enough to read end-to-end and take ownership of, which neutralizes the abandonment risk.
  • Your team has an explicit policy allowing single-maintainer, zero-adoption dependencies for non-production or low-blast-radius code.
  • The BSD-3-Clause license fits your distribution model (it does for most commercial use, with attribution).
  • You have a concrete need for exactly its API shape and have confirmed it covers your operations — do not assume coverage from the description "wrapper for some small filesystem operations."
  • You are pinning to the 2.x line and have verified the 2.0.0 → 2.0.1 diff is dependency-only (it is: roave/security-advisories moved from runtime to dev dependencies). Consumers on 2.0.0 were exposed to that package's constraint behaviour; upgrading is a low-risk, mildly beneficial housekeeping step.

Look elsewhere if:

  • You are building on Laravel. The framework ships a filesystem abstraction via the Storage facade and Flysystem (local, S3, SFTP, in-memory drivers, streaming, visibility, temporary URLs). Adding a 0-star wrapper alongside it creates two competing conventions for the same job.
  • You need cloud/object storage, streaming, large files, atomic writes, locking, or concurrency safety — none of which a "small operations" wrapper implies.
  • Maintenance and security response matter. One packaging commit in three-plus years is not a maintenance signal; there are still no dependents, no issue traffic, and no evidence of security triage. Note that the 2.0.1 change fixes build hygiene, not a runtime weakness. A vulnerability in a filesystem helper is a high-blast-radius event (arbitrary read/write, path traversal).
  • You need PSR standards compliance, framework integration, or a supported upgrade path.
  • Onboarding cost matters. A new engineer reading native file_get_contents/fopen is faster than reading a bespoke wrapper's docs.

Default recommendation: unchanged — do not adopt as a dependency. Skim it, then implement the handful of operations you actually need in-house (~1 day) or use Flysystem, which is already in the Laravel stack. If you are somehow already on 2.0.0, take 2.0.1 for the dependency fix; that is not a reason to onboard.

How to Pitch It (Stakeholders)

To executives: We re-reviewed the small open-source PHP filesystem utility after its first release in over three years. The release contains no new functionality — it moves a security-scanning tool out of the runtime dependency set, a packaging fix the maintainer should have made at launch. It still has no users and duplicates capability we already have through Laravel's built-in storage layer. The recommendation is unchanged: do not adopt, close it out. No budget or roadmap impact.

To engineering: v2.0.1 is a one-line-in-substance patch: roave/security-advisories moved to require-dev. That was a genuine defect in 2.0.0 — shipping that package as a runtime dependency causes constraint conflicts for consumers — so the fix is welcome, but it tells us nothing about whether the maintainer will respond to a path-traversal report. Still BSD-3, still single maintainer, still zero dependents. The only defensible use remains as a design reference for an internal filesystem service interface — exception-based error handling and path normalization are worth borrowing. We are not adding it to the dependency manifest; Flysystem covers local and cloud drivers, and anything narrower belongs in our own code where we can test it and control the security surface.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib