按行解析注释参数

This commit is contained in:
IT小强xqitw.cn 2018-06-06 09:40:59 +08:00
parent 858a8f8053
commit 250bccbaa8

View File

@ -29,46 +29,43 @@ class ParseLine
} }
/** /**
* 解析param * 解析 param
* @param $line * @param $line
* @return array * @return array
*/ */
public function parseLineParam($line) { public function parseLineParam($line) {
return [ return [
'type' => 'param', 'type' => $line[0],
'param_type' => $line[1], 'param_type' => $line[1],
'param_name' => $line[2], 'param_name' => $line[2],
'param_title' => $line[3], 'param_title' => $line[3],
'param_default' => isset($line[4]) ? $line[4] : '', 'param_default' => isset($line[4]) ? $line[4] : '',
]; ];
} }
/** /**
* 下划线命名转驼峰命名 * 解析 code
* @param $str - 下划线命名字符串 * @param $line
* @param $is_first - 是否为大驼峰(即首字母也大写) * @return array
* @return mixed
*/ */
public function underlineToHump($str, $is_first = false) { public function parseLineCode($line) {
$str = preg_replace_callback('/([\-\_]+([a-z]{1}))/i', function ($matches) { return [
return strtoupper($matches[2]); 'type' => $line[0],
}, $str); 'code' => $line[1],
if ($is_first) { 'content' => isset($line[2]) ? $line[2] : '',
$str = ucfirst($str); ];
}
return $str;
} }
/** /**
* 驼峰命名转下划线命名 * 解析 return
* @param $str * @param $line
* @return mixed * @return array
*/ */
public function humpToUnderline($str) { public function parseLineReturn($line) {
$str = preg_replace_callback('/([A-Z]{1})/', function ($matches) { return [
return '_' . strtolower($matches[0]); 'type' => $line[0],
}, $str); 'return_type' => $line[1],
$str = preg_replace('/^\_/', '', $str); 'content' => isset($line[2]) ? $line[2] : '',
return $str; ];
} }
} }