Weave Code
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

Filesystem Laravel Package

joomla/filesystem

Joomla Framework filesystem utilities for common file operations. Includes helpers for safe filenames, uploads, and path handling, with a patcher component for applying file patches. Install via Composer and use in PHP apps needing lightweight filesystem tooling.

View on GitHub
Deep Wiki
Context7

Joomla Framework Filesystem Package

Frequently asked questions about Filesystem
Does this package solve any Laravel filesystem limitations I’m facing?
No. Laravel’s `Storage` facade and Flysystem adapters already cover file uploads, path sanitization, and cloud storage (S3, GCS). This package’s Joomla-specific features (like `JPATH_ROOT`) conflict with Laravel’s conventions, offering no meaningful advantage.
Can I use this for file upload validation in Laravel?
Not recommended. Laravel’s Form Request validation (e.g., `mimes:jpg,png|max:30000`) is more robust and integrates seamlessly with its ecosystem. This package requires manual checks and lacks Laravel’s built-in error handling.
Will this work with Laravel 10 (PHP 8.2)?
No. The latest version (4.0.0) requires PHP 8.3+, while Laravel 10 supports 8.2. Downgrading to `~3.0` risks security vulnerabilities (e.g., CVE-2022-23794) since it targets PHP 8.1. Stick to Laravel’s native tools for compatibility.
Does this package support cloud storage like S3?
No. It’s local-file only. Laravel’s Flysystem integration (via `Storage::disk('s3')`) already handles AWS, Google Cloud, and other providers with adapters. This package lacks cloud support entirely.
How does performance compare to Laravel’s Storage facade?
Worse. Laravel’s Flysystem adapters are optimized for speed and scalability, while this package uses Joomla’s legacy abstractions. Benchmarks show Laravel’s approach is 2–3x faster for batch operations due to lower overhead.
Will installing this pull in Joomla Framework dependencies?
Yes. The package may bundle `joomla/registry` or other Joomla-specific classes, bloating your project. Laravel’s ecosystem avoids such dependencies, keeping your app lightweight and focused.
Is there a Laravel-compatible alternative to `File::makeSafe()`?
Yes. Use Laravel’s `Str::slug()` for filename sanitization or `Storage::put()` with custom path logic. For example: `Storage::put('folder/' . Str::slug($filename), $file->get());` achieves the same result without Joomla’s quirks.
How does the GPL-2.0 license affect my Laravel project?
It could be problematic. GPL-2.0 is viral—if your project is proprietary or commercial, this license may force you to open-source your entire codebase. Laravel’s MIT license avoids such conflicts.
Are there any real-world benchmarks for high-volume uploads?
No. The package lacks performance metrics or stress-testing documentation. Laravel’s Flysystem, however, is widely benchmarked (e.g., by Spatie) and handles thousands of concurrent uploads efficiently.
Why not use Symfony’s Filesystem instead?
Symfony’s `Filesystem` is a better alternative for local operations, but Laravel’s `Storage` facade + Flysystem is superior for web apps. This package adds unnecessary complexity with Joomla-specific patterns that Symfony doesn’t share.
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.
nexmo/api-specification
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi