Изменение конфигурации, используемой FlySystem в Laravel

В документации Laravel указано, что конфигурация FlySystem находится в config/filesystems.php, Есть ли способ, которым я могу изменить, где этот файл загружен, или я могу указать, используя диск для загрузки из другой конфигурации?

Так что вместо

Storage::disk('local')->put('file.txt', 'Contents');

Что-то вроде

 Storage::disk('myconfig::local')->put('file.txt', 'Contents');

2 ответа

Поддерживаются драйверы: "local", "ftp", "s3", "rackspace";

Может быть, вам нужно взглянуть на эту документацию

SRC / Осветите /Filesystem/FilesystemManager.php#L70


/**
 * Get the filesystem connection configuration.
 *
 * @param  string  $name
 * @return array
 */
protected function getConfig($name)
{
    return $this->app['config']["filesystems.disks.{$name}"];
}

'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_KEY'),
            'secret' => env('AWS_SECRET'),
            'region' => env('AWS_REGION'),
            'bucket' => env('AWS_BUCKET'),
        ],

    ]

Мне даже не приходило в голову, что я могу просто использовать

Config::set('filesystems.disks', $config);

Это позволяет мне устанавливать конфигурацию из любого места в коде, который я выбираю. В моем случае я использовал поставщика услуг в своем пакете и отдельный файл конфигурации.

Другие вопросы по тегам