Skip to content
This repository was archived by the owner on Jan 29, 2020. It is now read-only.

Commit b374268

Browse files
committed
Implement RouteResultSubjectInterface
Updates `Application` to implement `Zend\Expressive\Router\RouteResultSubjectInterface` explicitly. This involves: - Removing `Zend\Expressive\RouteResultObserverInterface` (in favor of `Zend\Expressive\Router\RouteResultObserverInterface`). - Updating typehints on `(attach|detach)RouteResultObserver()` to consume `Zend\Expressive\Router\RouteResultObserverInterface` instead of `Zend\Expressive\RouteResultObserverInterface`. - Making `notifyRouteResultObservers()` public. - Updating typehints in tests to consume `Zend\Expressive\Router\RouteResultObserverInterface` instead of `Zend\Expressive\RouteResultObserverInterface`.
1 parent 986511c commit b374268

File tree

3 files changed

+18
-40
lines changed

3 files changed

+18
-40
lines changed

src/Application.php

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
* @method Router\Route patch($path, $middleware, $name = null)
3030
* @method Router\Route delete($path, $middleware, $name = null)
3131
*/
32-
class Application extends MiddlewarePipe
32+
class Application extends MiddlewarePipe implements Router\RouteResultSubjectInterface
3333
{
3434
/**
3535
* @var null|ContainerInterface
@@ -176,26 +176,38 @@ public function any($path, $middleware, $name = null)
176176
/**
177177
* Attach a route result observer.
178178
*
179-
* @param RouteResultObserverInterface $observer
179+
* @param Router\RouteResultObserverInterface $observer
180180
*/
181-
public function attachRouteResultObserver(RouteResultObserverInterface $observer)
181+
public function attachRouteResultObserver(Router\RouteResultObserverInterface $observer)
182182
{
183183
$this->routeResultObservers[] = $observer;
184184
}
185185

186186
/**
187187
* Detach a route result observer.
188188
*
189-
* @param RouteResultObserverInterface $observer
189+
* @param Router\RouteResultObserverInterface $observer
190190
*/
191-
public function detachRouteResultObserver(RouteResultObserverInterface $observer)
191+
public function detachRouteResultObserver(Router\RouteResultObserverInterface $observer)
192192
{
193193
if (false === ($index = array_search($observer, $this->routeResultObservers, true))) {
194194
return;
195195
}
196196
unset($this->routeResultObservers[$index]);
197197
}
198198

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+
199211
/**
200212
* Overload pipe() operation.
201213
*
@@ -692,16 +704,4 @@ private function marshalLazyErrorMiddlewareService($middleware, ContainerInterfa
692704
return $invokable($error, $request, $response, $next);
693705
};
694706
}
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-
}
707707
}

src/RouteResultObserverInterface.php

Lines changed: 0 additions & 22 deletions
This file was deleted.

test/RouteMiddlewareTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
use Zend\Diactoros\ServerRequest;
1717
use Zend\Expressive\Application;
1818
use Zend\Expressive\Router\RouteResult;
19-
use Zend\Expressive\RouteResultObserverInterface;
19+
use Zend\Expressive\Router\RouteResultObserverInterface;
2020
use Zend\Expressive\Router\RouterInterface;
2121

2222
class RouteMiddlewareTest extends TestCase

0 commit comments

Comments
 (0)