ViewClearCommand.php
TLDR
The ViewClearCommand.php
file is part of the Illuminate\Foundation\Console namespace in the Demo Projects project. It defines a ViewClearCommand
class that inherits from the Command
class. The ViewClearCommand
class provides a command-line interface for clearing all compiled view files.
Methods
There are no additional methods defined in this file.
Classes
ViewClearCommand
The ViewClearCommand
class extends the Command
class and represents a command-line interface command for clearing all compiled view files. It provides the following functionality:
- The ability to clear all compiled view files by deleting them from the filesystem.
- Throws a
RuntimeException
if the view path is not found. - Displays a success message when the command is executed.
<?php
namespace Illuminate\Foundation\Console;
use Illuminate\Console\Command;
use Illuminate\Filesystem\Filesystem;
use RuntimeException;
use Symfony\Component\Console\Attribute\AsCommand;
#[AsCommand(name: 'view:clear')]
class ViewClearCommand extends Command
{
/**
* The console command name.
*
* @var string
*/
protected $name = 'view:clear';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Clear all compiled view files';
/**
* 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
*
* @throws \RuntimeException
*/
public function handle()
{
$path = $this->laravel['config']['view.compiled'];
if (! $path) {
throw new RuntimeException('View path not found.');
}
$this->laravel['view.engine.resolver']
->resolve('blade')
->forgetCompiledOrNotExpired();
foreach ($this->files->glob("{$path}/*") as $view) {
$this->files->delete($view);
}
$this->components->info('Compiled views cleared successfully.');
}
}