|
8 | 8 | use think\annotation\route\Group;
|
9 | 9 | use think\annotation\route\Middleware;
|
10 | 10 | use think\annotation\route\Model;
|
| 11 | +use think\annotation\route\Pattern; |
11 | 12 | use think\annotation\route\Resource;
|
12 | 13 | use think\annotation\route\Route;
|
13 | 14 | use think\annotation\route\Validate;
|
@@ -101,9 +102,18 @@ protected function scanDir($dir, $options = [])
|
101 | 102 |
|
102 | 103 | $rule->option($routeAnn->options);
|
103 | 104 |
|
| 105 | + //变量规则 |
| 106 | + if (!empty($patternsAnn = $this->reader->getAnnotations($refMethod, Pattern::class))) { |
| 107 | + foreach ($patternsAnn as $patternAnn) { |
| 108 | + $rule->pattern([$patternAnn->name => $patternAnn->value]); |
| 109 | + } |
| 110 | + } |
| 111 | + |
104 | 112 | //中间件
|
105 |
| - if ($middlewareAnn = $this->reader->getAnnotation($refMethod, Middleware::class)) { |
106 |
| - $rule->middleware($middlewareAnn->value); |
| 113 | + if (!empty($middlewaresAnn = $this->reader->getAnnotations($refMethod, Middleware::class))) { |
| 114 | + foreach ($middlewaresAnn as $middlewareAnn) { |
| 115 | + $rule->middleware($middlewareAnn->value, ...$middlewareAnn->params); |
| 116 | + } |
107 | 117 | }
|
108 | 118 |
|
109 | 119 | //绑定模型,支持多个
|
@@ -143,8 +153,18 @@ protected function scanDir($dir, $options = [])
|
143 | 153 |
|
144 | 154 | $group->option($groupOptions);
|
145 | 155 |
|
146 |
| - if ($middlewareAnn = $this->reader->getAnnotation($refClass, Middleware::class)) { |
147 |
| - $group->middleware($middlewareAnn->value); |
| 156 | + //变量规则 |
| 157 | + if (!empty($patternsAnn = $this->reader->getAnnotations($refClass, Pattern::class))) { |
| 158 | + foreach ($patternsAnn as $patternAnn) { |
| 159 | + $group->pattern([$patternAnn->name => $patternAnn->value]); |
| 160 | + } |
| 161 | + } |
| 162 | + |
| 163 | + //中间件 |
| 164 | + if (!empty($middlewaresAnn = $this->reader->getAnnotations($refClass, Middleware::class))) { |
| 165 | + foreach ($middlewaresAnn as $middlewareAnn) { |
| 166 | + $group->middleware($middlewareAnn->value, ...$middlewareAnn->params); |
| 167 | + } |
148 | 168 | }
|
149 | 169 | };
|
150 | 170 | }
|
|
0 commit comments