|
29 | 29 | * @method Router\Route patch($path, $middleware, $name = null) |
30 | 30 | * @method Router\Route delete($path, $middleware, $name = null) |
31 | 31 | */ |
32 | | -class Application extends MiddlewarePipe |
| 32 | +class Application extends MiddlewarePipe implements Router\RouteResultSubjectInterface |
33 | 33 | { |
34 | 34 | /** |
35 | 35 | * @var null|ContainerInterface |
@@ -176,26 +176,38 @@ public function any($path, $middleware, $name = null) |
176 | 176 | /** |
177 | 177 | * Attach a route result observer. |
178 | 178 | * |
179 | | - * @param RouteResultObserverInterface $observer |
| 179 | + * @param Router\RouteResultObserverInterface $observer |
180 | 180 | */ |
181 | | - public function attachRouteResultObserver(RouteResultObserverInterface $observer) |
| 181 | + public function attachRouteResultObserver(Router\RouteResultObserverInterface $observer) |
182 | 182 | { |
183 | 183 | $this->routeResultObservers[] = $observer; |
184 | 184 | } |
185 | 185 |
|
186 | 186 | /** |
187 | 187 | * Detach a route result observer. |
188 | 188 | * |
189 | | - * @param RouteResultObserverInterface $observer |
| 189 | + * @param Router\RouteResultObserverInterface $observer |
190 | 190 | */ |
191 | | - public function detachRouteResultObserver(RouteResultObserverInterface $observer) |
| 191 | + public function detachRouteResultObserver(Router\RouteResultObserverInterface $observer) |
192 | 192 | { |
193 | 193 | if (false === ($index = array_search($observer, $this->routeResultObservers, true))) { |
194 | 194 | return; |
195 | 195 | } |
196 | 196 | unset($this->routeResultObservers[$index]); |
197 | 197 | } |
198 | 198 |
|
| 199 | + /** |
| 200 | + * Notify all route result observers with the given route result. |
| 201 | + * |
| 202 | + * @param Router\RouteResult |
| 203 | + */ |
| 204 | + public function notifyRouteResultObservers(Router\RouteResult $result) |
| 205 | + { |
| 206 | + foreach ($this->routeResultObservers as $observer) { |
| 207 | + $observer->update($result); |
| 208 | + } |
| 209 | + } |
| 210 | + |
199 | 211 | /** |
200 | 212 | * Overload pipe() operation. |
201 | 213 | * |
@@ -692,16 +704,4 @@ private function marshalLazyErrorMiddlewareService($middleware, ContainerInterfa |
692 | 704 | return $invokable($error, $request, $response, $next); |
693 | 705 | }; |
694 | 706 | } |
695 | | - |
696 | | - /** |
697 | | - * Notify all route result observers with the given route result. |
698 | | - * |
699 | | - * @param Router\RouteResult |
700 | | - */ |
701 | | - private function notifyRouteResultObservers(Router\RouteResult $result) |
702 | | - { |
703 | | - foreach ($this->routeResultObservers as $observer) { |
704 | | - $observer->update($result); |
705 | | - } |
706 | | - } |
707 | 707 | } |
0 commit comments