| | <?php |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | namespace think\console\command; |
| |
|
| | use think\Cache; |
| | use think\console\Command; |
| | use think\console\Input; |
| | use think\console\input\Argument; |
| | use think\console\input\Option; |
| | use think\console\Output; |
| |
|
| | class Clear extends Command |
| | { |
| | protected function configure() |
| | { |
| | |
| | $this |
| | ->setName('clear') |
| | ->addArgument('type', Argument::OPTIONAL, 'type to clear', null) |
| | ->addOption('path', 'd', Option::VALUE_OPTIONAL, 'path to clear', null) |
| | ->setDescription('Clear runtime file'); |
| | } |
| |
|
| | protected function execute(Input $input, Output $output) |
| | { |
| | $path = $input->getOption('path') ?: RUNTIME_PATH; |
| |
|
| | $type = $input->getArgument('type'); |
| |
|
| | if ($type == 'route') { |
| | Cache::clear('route_check'); |
| | } else { |
| | if (is_dir($path)) { |
| | $this->clearPath($path); |
| | } |
| | } |
| |
|
| | $output->writeln("<info>Clear Successed</info>"); |
| | } |
| |
|
| | protected function clearPath($path) |
| | { |
| | $path = realpath($path) . DS; |
| | $files = scandir($path); |
| | if ($files) { |
| | foreach ($files as $file) { |
| | if ('.' != $file && '..' != $file && is_dir($path . $file)) { |
| | $this->clearPath($path . $file); |
| | } elseif ('.gitignore' != $file && is_file($path . $file)) { |
| | unlink($path . $file); |
| | } |
| | } |
| | } |
| | } |
| | } |
| |
|