/**
* 从注释解析生成文档
*
*/
public static function parse()
{
$result = [];
$config = Config::load('api', Cml::getApplicationDir('app_controller_path') ? true : false);
foreach ($config['version'] as $version => $apiList) {
isset($result[$version]) || ($result[$version] = []);
foreach ($apiList as $model => $api) {
$pos = strrpos($api, '\\');
$controller = substr($api, 0, $pos);
$action = substr($api, $pos + 1);
if (class_exists($controller) === false) {
continue;
}
$annotationParams = self::getAnnotationParams($controller, $action);
empty($annotationParams) || ($result[$version][$model] = $annotationParams);
}
}
foreach ($result as $key => $val) {
if (count($val) < 1) {
unset($result[$key]);
}
}
$systemCode = Cml::requireFile(__DIR__ . DIRECTORY_SEPARATOR . 'resource' . DIRECTORY_SEPARATOR . 'code.php');
Cml::requireFile(__DIR__ . DIRECTORY_SEPARATOR . 'resource' . DIRECTORY_SEPARATOR . 'doc.html', ['config' => $config, 'result' => $result, 'systemCode' => $systemCode]);
}