| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | 
							- <?php
 
- // +----------------------------------------------------------------------
 
- // | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
 
- // +----------------------------------------------------------------------
 
- // | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
 
- // +----------------------------------------------------------------------
 
- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
 
- // +----------------------------------------------------------------------
 
- // | Author: liu21st <liu21st@gmail.com>
 
- // +----------------------------------------------------------------------
 
- 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);
 
-                 }
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |