From eea30d0f59fbde3e8ae5ab96eb463597fed34451 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Sessing=C3=B8?= Date: Thu, 20 May 2021 15:15:26 +0200 Subject: [PATCH] Simplified RouteController and RouteResource by moving common group-match code to parent method. --- src/Pecee/SimpleRouter/Route/LoadableRoute.php | 14 +++++++++++++- src/Pecee/SimpleRouter/Route/RouteController.php | 2 +- src/Pecee/SimpleRouter/Route/RouteResource.php | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/Pecee/SimpleRouter/Route/LoadableRoute.php b/src/Pecee/SimpleRouter/Route/LoadableRoute.php index 18151bb..2480e7b 100644 --- a/src/Pecee/SimpleRouter/Route/LoadableRoute.php +++ b/src/Pecee/SimpleRouter/Route/LoadableRoute.php @@ -100,6 +100,18 @@ abstract class LoadableRoute extends Route implements ILoadableRoute return $this->url; } + /** + * Returns true if group is defined and matches the given url. + * + * @param string $url + * @param Request $request + * @return bool + */ + protected function matchGroup(string $url, Request $request): bool + { + return ($this->getGroup() === null || $this->getGroup()->matchRoute($url, $request) === true); + } + /** * Find url that matches method, parameters or name. * Used when calling the url() helper. @@ -203,9 +215,9 @@ abstract class LoadableRoute extends Route implements ILoadableRoute * Sets the router name, which makes it easier to obtain the url or router at a later point. * Alias for LoadableRoute::setName(). * - * @see LoadableRoute::setName() * @param string|array $name * @return static + * @see LoadableRoute::setName() */ public function name($name): ILoadableRoute { diff --git a/src/Pecee/SimpleRouter/Route/RouteController.php b/src/Pecee/SimpleRouter/Route/RouteController.php index 2238b9d..6c269b7 100644 --- a/src/Pecee/SimpleRouter/Route/RouteController.php +++ b/src/Pecee/SimpleRouter/Route/RouteController.php @@ -88,7 +88,7 @@ class RouteController extends LoadableRoute implements IControllerRoute public function matchRoute(string $url, Request $request): bool { - if ($this->getGroup() !== null && $this->getGroup()->matchRoute($url, $request) === false) { + if ($this->matchGroup($url, $request) === false) { return false; } diff --git a/src/Pecee/SimpleRouter/Route/RouteResource.php b/src/Pecee/SimpleRouter/Route/RouteResource.php index ceeb18c..5bbd41e 100644 --- a/src/Pecee/SimpleRouter/Route/RouteResource.php +++ b/src/Pecee/SimpleRouter/Route/RouteResource.php @@ -85,7 +85,7 @@ class RouteResource extends LoadableRoute implements IControllerRoute public function matchRoute(string $url, Request $request): bool { - if ($this->getGroup() !== null && $this->getGroup()->matchRoute($url, $request) === false) { + if ($this->matchGroup($url, $request) === false) { return false; }