master

laravel/framework

Last updated at: 29/12/2023 09:23

ConfigClearCommand.php

TLDR

This file contains the ConfigClearCommand class which is a command used to remove the configuration cache file.

Classes

ConfigClearCommand

The ConfigClearCommand class extends the Command class from the Illuminate\Console namespace. It is responsible for removing the configuration cache file. This class has the following properties and methods:

  • Properties:
    • $name: The console command name.
    • $description: The console command description.
    • $files: The filesystem instance.
  • Methods:
    • __construct(Filesystem $files): Constructor method that initializes the files property.
    • handle(): Executes the console command by deleting the configuration cache file and displaying a success message.
<?php

namespace Illuminate\Foundation\Console;

use Illuminate\Console\Command;
use Illuminate\Filesystem\Filesystem;
use Symfony\Component\Console\Attribute\AsCommand;

#[AsCommand(name: 'config:clear')]
class ConfigClearCommand extends Command
{
    /**
     * The console command name.
     *
     * @var string
     */
    protected $name = 'config:clear';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Remove the configuration cache file';

    /**
     * The filesystem instance.
     *
     * @var \Illuminate\Filesystem\Filesystem
     */
    protected $files;

    /**
     * Create a new config clear command instance.
     *
     * @param  \Illuminate\Filesystem\Filesystem  $files
     * @return void
     */
    public function __construct(Filesystem $files)
    {
        parent::__construct();

        $this->files = $files;
    }

    /**
     * Execute the console command.
     *
     * @return void
     */
    public function handle()
    {
        $this->files->delete($this->laravel->getCachedConfigPath());

        $this->components->info('Configuration cache cleared successfully.');
    }
}