/flysystem-bundle

Symfony bundle integrating Flysystem into Symfony 4.2+ applications

Primary LanguagePHPMIT LicenseMIT

flysystem-bundle

Build Status Packagist Version Software license

SymfonyInsight

This repository is a light Symfony bundle integrating the Flysystem library into Symfony applications. It provides an efficient abstraction for the filesystem, for instance to use local files in development and a cloud storage in production or to use a memory filesystem in tests to increase their speed.

This bundle relies on named aliases (introduced in Symfony 4.2) in order to create and configure multiple filesystems while still following the best practices of software architecture (SOLID principles).

Installation

flysystem-bundle requires PHP 7.1+ and Symfony 4.2+.

You can install the bundle using Symfony Flex:

composer require league/flysystem-bundle

Documentation

  1. Getting started
  2. Cloud storage providers: Azure, AWS S3, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Rackspace, WebDAV
  3. Interacting with FTP and SFTP servers
  4. Caching metadata in Symfony cache
  5. Creating a custom adapter

Security Issues

If you discover a security vulnerability within the bundle, please follow our disclosure procedure.

Backward Compatibility promise

This library follows the same Backward Compatibility promise as the Symfony framework: https://symfony.com/doc/current/contributing/code/bc.html

Note: many classes in this bundle are either marked @final or @internal. @internal classes are excluded from any Backward Compatiblity promise (you should not use them in your code) whereas @final classes can be used but should not be extended (use composition instead).