| @@ 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 |
|