PHP 8.3.31
Preview: ConfigPublishCommand.php Size: 3.11 KB
/home/getspomw/royalsquad.us/vendor/laravel/framework/src/Illuminate/Foundation/Console/ConfigPublishCommand.php

<?php

namespace Illuminate\Foundation\Console;

use Illuminate\Console\Command;
use Illuminate\Support\Collection;
use Symfony\Component\Console\Attribute\AsCommand;
use Symfony\Component\Finder\Finder;

use function Laravel\Prompts\select;

#[AsCommand(name: 'config:publish')]
class ConfigPublishCommand extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'config:publish
                    {name? : The name of the configuration file to publish}
                    {--all : Publish all configuration files}
                    {--force : Overwrite any existing configuration files}';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Publish configuration files to your application';

    /**
     * Execute the console command.
     *
     * @return int
     */
    public function handle()
    {
        $config = $this->getBaseConfigurationFiles();

        if (is_null($this->argument('name')) && $this->option('all')) {
            foreach ($config as $key => $file) {
                $this->publish($key, $file, $this->laravel->configPath().'/'.$key.'.php');
            }

            return;
        }

        $name = (string) (is_null($this->argument('name')) ? select(
            label: 'Which configuration file would you like to publish?',
            options: (new Collection($config))->map(function (string $path) {
                return basename($path, '.php');
            }),
        ) : $this->argument('name'));

        if (! is_null($name) && ! isset($config[$name])) {
            $this->components->error('Unrecognized configuration file.');

            return 1;
        }

        $this->publish($name, $config[$name], $this->laravel->configPath().'/'.$name.'.php');
    }

    /**
     * Publish the given file to the given destination.
     *
     * @param  string  $name
     * @param  string  $file
     * @param  string  $destination
     * @return void
     */
    protected function publish(string $name, string $file, string $destination)
    {
        if (file_exists($destination) && ! $this->option('force')) {
            $this->components->error("The '{$name}' configuration file already exists.");

            return;
        }

        copy($file, $destination);

        $this->components->info("Published '{$name}' configuration file.");
    }

    /**
     * Get an array containing the base configuration files.
     *
     * @return array
     */
    protected function getBaseConfigurationFiles()
    {
        $config = [];

        $shouldMergeConfiguration = $this->laravel->shouldMergeFrameworkConfiguration();

        foreach (Finder::create()->files()->name('*.php')->in(__DIR__.'/../../../../config') as $file) {
            $name = basename($file->getRealPath(), '.php');

            $config[$name] = ($shouldMergeConfiguration === true && file_exists($stubPath = (__DIR__.'/../../../../config-stubs/'.$name.'.php')))
                ? $stubPath
                : $file->getRealPath();
        }

        return (new Collection($config))->sortKeys()->all();
    }
}

Directory Contents

Dirs: 1 × Files: 64

Name Size Perms Modified Actions
stubs DIR
- drwxrwxrwx 2025-09-17 06:52:55
Edit Download
9.83 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
4.96 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
6.75 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.85 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
4.29 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.67 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.60 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
948 B lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
3.28 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
2.93 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
4.56 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
2.12 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.16 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
3.11 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
2.89 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
2.47 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
13.40 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
4.88 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
3.56 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
726 B lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
3.87 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
3.84 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.46 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.19 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
2.07 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
5.66 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.96 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
2.91 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.07 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.52 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.94 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.81 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
16.53 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
3.16 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.82 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
4.16 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
5.98 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
9.49 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
4.47 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
4.42 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
2.06 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
2.04 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.05 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
6.01 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
2.21 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.01 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.69 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
2.39 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
2.73 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.14 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
15.29 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
2.00 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.70 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
11.62 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
2.06 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.21 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
5.88 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
3.90 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.81 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.41 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
10.76 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
2.82 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
1.52 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download
6.16 KB lrw-rw-rw- 2025-09-17 06:52:55
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).