From 74351e0330e1d4172191f19139bc19151ef11279 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Sessing=C3=B8?= Date: Sun, 27 Nov 2016 01:07:11 +0100 Subject: [PATCH] Bugfixes --- src/Pecee/SimpleRouter/Route/LoadableRoute.php | 3 ++- src/Pecee/SimpleRouter/Route/Route.php | 3 +-- src/Pecee/SimpleRouter/Route/RouteController.php | 2 +- src/Pecee/SimpleRouter/Route/RouteGroup.php | 4 +--- src/Pecee/SimpleRouter/Route/RouteResource.php | 10 +++++----- src/Pecee/SimpleRouter/Route/RouteUrl.php | 5 +++-- 6 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/Pecee/SimpleRouter/Route/LoadableRoute.php b/src/Pecee/SimpleRouter/Route/LoadableRoute.php index 8ab37fc..8696bfa 100644 --- a/src/Pecee/SimpleRouter/Route/LoadableRoute.php +++ b/src/Pecee/SimpleRouter/Route/LoadableRoute.php @@ -37,6 +37,7 @@ abstract class LoadableRoute extends Route implements ILoadableRoute $middleware = $this->getMiddlewares()[$i]; $middleware = $this->loadClass($middleware); + if (!($middleware instanceof IMiddleware)) { throw new HttpException($middleware . ' must be instance of Middleware'); } @@ -60,7 +61,7 @@ abstract class LoadableRoute extends Route implements ILoadableRoute /* Remove global match */ if (count($parameters) > 1) { - $this->setParameters(array_slice($parameters, 1)); + $this->parameters = array_slice($parameters, 1); } return true; diff --git a/src/Pecee/SimpleRouter/Route/Route.php b/src/Pecee/SimpleRouter/Route/Route.php index 4d43be5..03b8093 100644 --- a/src/Pecee/SimpleRouter/Route/Route.php +++ b/src/Pecee/SimpleRouter/Route/Route.php @@ -47,7 +47,7 @@ abstract class Route implements IRoute protected function loadClass($name) { - if (!class_exists($name)) { + if (class_exists($name) === false) { throw new NotFoundHttpException(sprintf('Class %s does not exist', $name), 404); } @@ -528,7 +528,6 @@ abstract class Route implements IRoute * If this is the first time setting parameters we store them so we * later can organize the array, in case somebody tried to sort the array. */ - if(count($parameters) > 0 && count($this->originalParameters) === 0) { $this->originalParameters = $parameters; } diff --git a/src/Pecee/SimpleRouter/Route/RouteController.php b/src/Pecee/SimpleRouter/Route/RouteController.php index c4e5520..a47cf52 100644 --- a/src/Pecee/SimpleRouter/Route/RouteController.php +++ b/src/Pecee/SimpleRouter/Route/RouteController.php @@ -107,7 +107,7 @@ class RouteController extends LoadableRoute implements IControllerRoute //array_shift($path); //$this->parameters = $path; - $this->setParameters(array_slice($path, 1)); + $this->parameters = array_slice($path, 1); // Set callback $this->setCallback($this->controller . '@' . $this->method); diff --git a/src/Pecee/SimpleRouter/Route/RouteGroup.php b/src/Pecee/SimpleRouter/Route/RouteGroup.php index c466749..acf5323 100644 --- a/src/Pecee/SimpleRouter/Route/RouteGroup.php +++ b/src/Pecee/SimpleRouter/Route/RouteGroup.php @@ -28,9 +28,7 @@ class RouteGroup extends Route implements IGroupRoute if ($parameters !== null && count($parameters) > 0) { - $this->setParameters($parameters); - //$this->parameters = array_merge($this->parameters, $parameters); - + $this->parameters = $parameters; return true; } } diff --git a/src/Pecee/SimpleRouter/Route/RouteResource.php b/src/Pecee/SimpleRouter/Route/RouteResource.php index 2efdbd6..16e537a 100644 --- a/src/Pecee/SimpleRouter/Route/RouteResource.php +++ b/src/Pecee/SimpleRouter/Route/RouteResource.php @@ -82,19 +82,19 @@ class RouteResource extends LoadableRoute implements IControllerRoute $url = rtrim($url, '/') . '/'; /* Match global regular-expression for route */ - if($this->matchRegex($request, $url) === true) { - return true; + $domainMatch = $this->matchRegex($request, $url); + if($domainMatch !== null) { + return $domainMatch; } $route = rtrim($this->url, '/') . '/{id?}/{action?}'; $parameters = $this->parseParameters($route, $url); - if ($parameters === null) { return false; } - $this->setParameters((array)$parameters); + $this->parameters = (array)$parameters; $action = isset($this->parameters['action']) ? $this->parameters['action'] : null; unset($this->parameters['action']); @@ -107,7 +107,7 @@ class RouteResource extends LoadableRoute implements IControllerRoute } // Update - if (isset($this->parameters['id']) && in_array($method, [ static::REQUEST_TYPE_PATCH, static::REQUEST_TYPE_PUT ])) { + if (isset($this->parameters['id']) && in_array($method, [ static::REQUEST_TYPE_PATCH, static::REQUEST_TYPE_PUT ], false)) { return $this->call($this->methodNames['update']); } diff --git a/src/Pecee/SimpleRouter/Route/RouteUrl.php b/src/Pecee/SimpleRouter/Route/RouteUrl.php index 0206961..0f2660d 100644 --- a/src/Pecee/SimpleRouter/Route/RouteUrl.php +++ b/src/Pecee/SimpleRouter/Route/RouteUrl.php @@ -17,8 +17,9 @@ class RouteUrl extends LoadableRoute $url = rtrim($url, '/') . '/'; /* Match global regular-expression for route */ - if($this->matchRegex($request, $url) === true) { - return true; + $domainMatch = $this->matchRegex($request, $url); + if($domainMatch !== null) { + return $domainMatch; } /* Make regular expression based on route */