RouteClearCommand.php
TLDR
This file defines the RouteClearCommand
class, which is a console command that clears the route cache file.
Methods
There are no additional methods in this file.
Classes
RouteClearCommand
This class extends the Command
class from the Illuminate\Console package. It represents a console command named "route:clear" and is responsible for removing the route cache file. The route cache file is deleted using the delete()
method of the Filesystem
class, which is injected into the class through the constructor.
The key properties and methods of the RouteClearCommand
class are:
-
protected $name
: The name of the console command ("route:clear"). -
protected $description
: The description of the console command ("Remove the route cache file"). -
protected $files
: An instance of theFilesystem
class for file manipulation. -
public function __construct(Filesystem $files)
: The constructor method that injects theFilesystem
instance. -
public function handle()
: The method that is executed when the console command is run. It deletes the route cache file using thedelete()
method of theFilesystem
class and outputs a success message.
<?php
namespace Illuminate\Foundation\Console;
use Illuminate\Console\Command;
use Illuminate\Filesystem\Filesystem;
use Symfony\Component\Console\Attribute\AsCommand;
#[AsCommand(name: 'route:clear')]
class RouteClearCommand extends Command
{
/**
* The console command name.
*
* @var string
*/
protected $name = 'route:clear';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Remove the route cache file';
/**
* The filesystem instance.
*
* @var \Illuminate\Filesystem\Filesystem
*/
protected $files;
/**
* Create a new route 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->getCachedRoutesPath());
$this->components->info('Route cache cleared successfully.');
}
}