diff --git a/config/filesystems.php b/config/filesystems.php new file mode 100644 index 0000000..e9d9dbd --- /dev/null +++ b/config/filesystems.php @@ -0,0 +1,76 @@ + env('FILESYSTEM_DISK', 'local'), + + /* + |-------------------------------------------------------------------------- + | Filesystem Disks + |-------------------------------------------------------------------------- + | + | Here you may configure as many filesystem "disks" as you wish, and you + | may even configure multiple disks of the same driver. Defaults have + | been set up for each driver as an example of the required values. + | + | Supported Drivers: "local", "ftp", "sftp", "s3" + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app'), + 'throw' => false, + ], + + 'public' => [ + 'driver' => 'local', + 'root' => storage_path('app/public'), + 'url' => env('APP_URL').'/storage', + 'visibility' => 'public', + 'throw' => false, + ], + + 's3' => [ + 'driver' => 's3', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION'), + 'bucket' => env('AWS_BUCKET'), + 'url' => env('AWS_URL'), + 'endpoint' => env('AWS_ENDPOINT'), + 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false), + 'throw' => false, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Symbolic Links + |-------------------------------------------------------------------------- + | + | Here you may configure the symbolic links that will be created when the + | `storage:link` Artisan command is executed. The array keys should be + | the locations of the links and the values should be their targets. + | + */ + + 'links' => [ + public_path('storage') => storage_path('app/public'), + ], + +]; diff --git a/src/Providers/BlogCoreServiceProvider.php b/src/Providers/BlogCoreServiceProvider.php index 2ee1e66..f329c90 100644 --- a/src/Providers/BlogCoreServiceProvider.php +++ b/src/Providers/BlogCoreServiceProvider.php @@ -94,7 +94,17 @@ protected function registerConfigs(): void foreach ($files as $file) { if (pathinfo($file, PATHINFO_EXTENSION) === 'php') { - $this->mergeConfigFrom($configDir . '/' . $file, pathinfo($file, PATHINFO_FILENAME)); + $configName = pathinfo($file, PATHINFO_FILENAME); + $configPath = $configDir.'/'.$file; + + if (file_exists(config_path($configName.'.php'))) { + config()->set($configName, array_merge( + is_array(config($configName)) ? config($configName) : [], + require $configPath + )); + } else { + $this->mergeConfigFrom($configPath, $configName); + } } } }