danhunsaker/laravel-flysystem-service

Automatically registers every Flysystem adapter it recognizes as a Laravel Filesystem Driver.

v3.0.0 2023-04-30 03:55 UTC

This package is auto-updated.

Last update: 2024-03-30 00:18:13 UTC


README

Software License Liberapay receiving

Latest Stable Version Latest Unstable Version Build Status Codecov Total Downloads

Registers recognized Flysystem adapters with Laravel automatically.

This lets you use other adapters without having to write your own service providers to load them properly. It automatically detects which adapters are available, and registers only the ones actually installed.

Note: This package only recognizes the adapters officially supported by The PHP League - for other adapters, install danhunsaker/laravel-flysystem-others instead (it will pull in this package as a dependency).

Installation

The usual methods for using Composer apply here:

composer require danhunsaker/laravel-flysystem-service

You do still have to register one service, but only one, and at least you don't have to write it. Be sure to REPLACE the Illuminate\Filesystem\FilesystemServiceProvider::class line with the new one:

// In config/app.php

    'providers' => [
        // ...
        Danhunsaker\Laravel\Flysystem\FlysystemServiceProvider::class,
        // ...
    ],

Setup

You can get example definitions for all supported filesystem drivers by publishing the replacement filesystems config - just run the following Artisan command:

php artisan vendor:publish --provider=Danhunsaker\\Laravel\\Flysystem\\FlysystemServiceProvider --force

The --force flag is required to overwrite the existing filesystems config that ships with Laravel. You can also rename the existing file, then run the command without the --force flag, if you'd like to preserve the existing contents for transfer to the new file.

Contributions

Pull requests, bug reports, and so forth are all welcome on GitHub.

Security issues should be reported directly to hennikhunsaker (plus) laraflyserv (at) gmail (dot) com.

And head to GitHub for everything else.