Pre Merge pull request !162 from kingang/master

pull/162/MERGE
kingang 2019-12-21 15:13:38 +08:00 committed by Gitee
commit 93cc97e842
1 changed files with 19 additions and 9 deletions

View File

@ -26,6 +26,7 @@ class Api extends Command
->addOption('author', 'a', Option::VALUE_OPTIONAL, 'document author', $site['name']) ->addOption('author', 'a', Option::VALUE_OPTIONAL, 'document author', $site['name'])
->addOption('class', 'c', Option::VALUE_OPTIONAL | Option::VALUE_IS_ARRAY, 'extend class', null) ->addOption('class', 'c', Option::VALUE_OPTIONAL | Option::VALUE_IS_ARRAY, 'extend class', null)
->addOption('language', 'l', Option::VALUE_OPTIONAL, 'language', 'zh-cn') ->addOption('language', 'l', Option::VALUE_OPTIONAL, 'language', 'zh-cn')
->addOption('controller', 't', Option::VALUE_REQUIRED | Option::VALUE_IS_ARRAY, 'controller name', null)
->setDescription('Build Api document from controller'); ->setDescription('Build Api document from controller');
} }
@ -80,7 +81,9 @@ class Api extends Command
throw new Exception("Please make sure opcache already enabled, Get help:https://forum.fastadmin.net/d/1321"); throw new Exception("Please make sure opcache already enabled, Get help:https://forum.fastadmin.net/d/1321");
} }
} }
//控制器名
$controller = $input->getOption('controller') ?: '';
if(!$controller) {
$controllerDir = $moduleDir . Config::get('url_controller_layer') . DS; $controllerDir = $moduleDir . Config::get('url_controller_layer') . DS;
$files = new \RecursiveIteratorIterator( $files = new \RecursiveIteratorIterator(
new \RecursiveDirectoryIterator($controllerDir), new \RecursiveDirectoryIterator($controllerDir),
@ -93,6 +96,13 @@ class Api extends Command
$classes[] = $this->get_class_from_file($filePath); $classes[] = $this->get_class_from_file($filePath);
} }
} }
}
else{
foreach ($controller as $index => $item) {
$filePath=$moduleDir . Config::get('url_controller_layer') . DS .$item.'.php';
$classes[] = $this->get_class_from_file($filePath);
}
}
$classes = array_unique(array_filter($classes)); $classes = array_unique(array_filter($classes));
$config = [ $config = [