@@ 19-40 (lines=22) @@ | ||
16 | class ParamAnnotationHandler |
|
17 | { |
|
18 | ||
19 | static public function getParamInfo($text) |
|
20 | { |
|
21 | ||
22 | $paramType = null; |
|
23 | $paramName = null; |
|
24 | $paramDoc = ''; |
|
25 | if(substr($text, 0, 1) == '$'){ //带$前缀的是变量 |
|
26 | $params = new AnnotationParams($text, 2); |
|
27 | $paramName = substr($params->getParam(0), 1); |
|
28 | $paramDoc = $params->getRawParam(1, ''); |
|
29 | }else{ |
|
30 | $params = new AnnotationParams($text, 3); |
|
31 | if ($params->count() >=2 && substr($params->getParam(1), 0, 1) == '$'){ |
|
32 | $paramType = $params->getParam(0); //TODO 检测类型是否合法 |
|
33 | $paramName = substr($params->getParam(1), 1); |
|
34 | $paramDoc = $params->getRawParam(2, ''); |
|
35 | }else{ |
|
36 | \PhpBoot\abort(new AnnotationSyntaxException("@param $text syntax error")); |
|
37 | } |
|
38 | } |
|
39 | return [$paramType, $paramName, $paramDoc]; |
|
40 | } |
|
41 | /** |
|
42 | * @param ConsoleContainer $container |
|
43 | * @param AnnotationBlock|AnnotationTag $ann |
@@ 18-39 (lines=22) @@ | ||
15 | class ParamAnnotationHandler |
|
16 | { |
|
17 | ||
18 | static public function getParamInfo($text) |
|
19 | { |
|
20 | ||
21 | $paramType = null; |
|
22 | $paramName = null; |
|
23 | $paramDoc = ''; |
|
24 | if(substr($text, 0, 1) == '$'){ //带$前缀的是变量 |
|
25 | $params = new AnnotationParams($text, 2); |
|
26 | $paramName = substr($params->getParam(0), 1); |
|
27 | $paramDoc = $params->getRawParam(1, ''); |
|
28 | }else{ |
|
29 | $params = new AnnotationParams($text, 3); |
|
30 | if ($params->count() >=2 && substr($params->getParam(1), 0, 1) == '$'){ |
|
31 | $paramType = $params->getParam(0); //TODO 检测类型是否合法 |
|
32 | $paramName = substr($params->getParam(1), 1); |
|
33 | $paramDoc = $params->getRawParam(2, ''); |
|
34 | }else{ |
|
35 | \PhpBoot\abort(new AnnotationSyntaxException("@param $text syntax error")); |
|
36 | } |
|
37 | } |
|
38 | return [$paramType, $paramName, $paramDoc]; |
|
39 | } |
|
40 | /** |
|
41 | * @param ControllerContainer $container |
|
42 | * @param AnnotationBlock|AnnotationTag $ann |