Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. PHP
  3. Gaufrette

Gaufrette

MITPHPv1.0.0

A PHP library providing a filesystem abstraction layer to decouple file storage from application logic.

Visit WebsiteGitHubGitHub
2.5k stars352 forks0 contributors

What is Gaufrette?

Gaufrette is a PHP library that provides a filesystem abstraction layer, allowing developers to manage files without being tied to specific storage backends. It enables applications to switch between different storage solutions seamlessly, such as moving from local storage to cloud services like Amazon S3, by abstracting storage details behind a consistent interface.

Target Audience

PHP developers building applications that require flexible file storage management, particularly those working with Symfony or needing to support multiple storage backends like cloud services, FTP, or local filesystems.

Value Proposition

Developers choose Gaufrette for its storage agnosticism, allowing them to write file operations once and switch backends without code changes, and for its extensive adapter support with metapackages that simplify dependency management.

Overview

PHP library that provides a filesystem abstraction layer − will be a feast for your files!

Use Cases

Best For

  • Building PHP applications that need to switch between local and cloud storage (e.g., Amazon S3, Google Cloud Storage) as scalability requirements change.
  • Developing Symfony applications with integrated file management using the official KnpGaufretteBundle.
  • Writing unit tests for file operations by using the in-memory adapter to avoid actual storage dependencies.
  • Managing media files in projects where storage backends might evolve over time without rewriting application logic.
  • Integrating multiple storage systems (e.g., FTP, SFTP, Azure Blob Storage) under a single, consistent API for file operations.
  • Decoupling file storage from business logic to promote maintainability and flexibility in large-scale PHP projects.

Not Ideal For

  • Applications that only use a single, fixed storage backend with no plans for migration or scaling, where a simpler solution suffices.
  • Projects built on Laravel, which has its own built-in filesystem abstraction via Flysystem, making Gaufrette redundant.
  • High-performance applications requiring direct, low-latency access to storage systems without abstraction overhead.

Pros & Cons

Pros

Extensive Adapter Support

Supports a wide range of storage backends including Amazon S3, Azure Blob Storage, Google Cloud Storage, FTP, and SFTP, as listed in the README's maintainer table, enabling seamless backend switching.

Symfony Integration

Has an official Symfony bundle (KnpGaufretteBundle) for easy integration into Symfony applications, simplifying configuration and usage.

Flexible Testing

Includes in-memory and local adapters that allow for unit testing file operations without relying on actual storage systems, as highlighted in the key features.

Metapackage Distribution

Each adapter is available as a separate Composer package with its own dependencies, reducing bloat and simplifying dependency management, as recommended in the README.

Cons

No Stable Release

The README explicitly states there is no stable release yet, which introduces potential risks of breaking changes or instability in production environments.

Complex Development Setup

Setting up for development requires Docker, docker-compose, and multiple make commands, as detailed in the README, which can be a barrier for quick contributions or local testing.

Documentation Dependence

Official documentation is external (linked in the README), which might be less accessible or updated compared to integrated in-code documentation, requiring extra effort.

Frequently Asked Questions

Quick Stats

Stars2,464
Forks352
Contributors0
Open Issues70
Last commit1 month ago
CreatedSince 2011

Tags

#hacktoberfest#filesystem#amazon-s3#filesystem-abstraction#azure-blob-storage#php-library#cloud-storage#symfony-integration#ftp#php#storage-adapter#sftp#google-cloud-storage#gaufrette

Built With

D
Docker Compose
P
PHP
D
Docker

Links & Resources

Website

Included in

PHP32.5k
Auto-fetched 11 hours ago

Related Projects

FlysystemFlysystem

Abstraction for local and remote filesystems

Stars13,585
Forks863
Last commit6 days ago
PHP FFmpegPHP FFmpeg

An object oriented PHP driver for FFMpeg binary

Stars5,017
Forks893
Last commit7 months ago
CSVCSV

CSV data manipulation made easy in PHP

Stars3,482
Forks353
Last commit2 days ago
UnifiedArchiveUnifiedArchive

UnifiedArchive - an archive manager with unified interface for different formats (bundled with cli utility). Supports all formats with basic operations (reading, extracting and creation) and popular formats specific features (compression level, password-protection, comment)

Stars282
Forks24
Last commit20 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub