|
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