Router: Simplify respond logic

This commit is contained in:
Riyyi
2022-11-04 15:32:53 +01:00
parent 20a8afa9ce
commit a0d302daec
+21 -36
View File
@@ -176,33 +176,25 @@ class Router {
$controller = '\App\Controllers\\' . $controller; $controller = '\App\Controllers\\' . $controller;
$controller = new $controller(self::$router); $controller = new $controller(self::$router);
$stillValid = true;
// If method does not exist in object // If method does not exist in object
if (!method_exists($controller, $action)) { if (!method_exists($controller, $action)) {
$stillValid = false; return $controller->throw404();
} }
// If no valid permissions // If no valid permissions
if ($controller->getAdminSection() && if ($controller->getAdminSection() &&
$controller->getLoggedIn() == false) { $controller->getLoggedIn() == false) {
$stillValid = false; return $controller->throw404();
}
// Loop through params
$params = [];
foreach ($param as $name) {
$params[] = $request->param($name);
} }
// Call Controller action // Call Controller action
if ($stillValid) { return $controller->{$action}(...$params);
// Loop through params
$params = [];
foreach ($param as $name) {
$params[] = $request->param($name);
}
return $controller->{$action}(...$params);
}
else {
$controller->throw404();
}
}); });
} }
@@ -227,37 +219,30 @@ class Router {
$route[2] .= 'Action'; $route[2] .= 'Action';
} }
$stillValid = true;
// If method does not exist in object // If method does not exist in object
if (!method_exists($controller, $route[2])) { if (!method_exists($controller, $route[2])) {
$stillValid = false; return $controller->throw404();
} }
// If no valid permissions // If no valid permissions
if ($controller->getAdminSection() && if ($controller->getAdminSection() &&
$controller->getLoggedIn() == false) { $controller->getLoggedIn() == false) {
$stillValid = false; return $controller->throw404();
} }
// Call Controller action // Call Controller action
if ($stillValid) { if (is_array($route[3])) {
if (is_array($route[3])) { return $controller->{$route[2]}(
return $controller->{$route[2]}( $route[3][0] ?? '',
$route[3][0] ?? '', $route[3][1] ?? '',
$route[3][1] ?? '', $route[3][2] ?? ''
$route[3][2] ?? '' );
); }
} else if ($route[3] != '') {
else if ($route[3] != '') { return $controller->{$route[2]}($route[3]);
return $controller->{$route[2]}($route[3]);
}
else {
return $controller->{$route[2]}();
}
} }
else { else {
$controller->throw404(); return $controller->{$route[2]}();
} }
}); });
} }