Fix routing issues
This commit is contained in:
@@ -9,9 +9,9 @@ $request = new Request($_SERVER);
|
||||
$handler = new RequestHandler($request);
|
||||
|
||||
$handler->registerRoutes([
|
||||
new Route('GET', 'products', ['ProductList\View\Product', 'listAll'])
|
||||
new Route('GET', 'products', ['ProductList\View\Product', 'listAll']),
|
||||
new Route('GET', 'add-product', function() { readfile('add-product.html'); }),
|
||||
new Route('GET', '', function() { readfile('index.html'); }),
|
||||
]);
|
||||
|
||||
$handler->setIndex('index.html');
|
||||
|
||||
$handler->handle();
|
||||
|
@@ -3,7 +3,6 @@ namespace ProductList\Http;
|
||||
|
||||
class RequestHandler
|
||||
{
|
||||
private $index;
|
||||
private $request;
|
||||
private $routes;
|
||||
|
||||
@@ -12,11 +11,6 @@ class RequestHandler
|
||||
$this->request = $request;
|
||||
}
|
||||
|
||||
public function setIndex($index)
|
||||
{
|
||||
$this->index = $index;
|
||||
}
|
||||
|
||||
public function registerRoutes(array $routes)
|
||||
{
|
||||
$this->routes = $routes;
|
||||
@@ -31,6 +25,6 @@ class RequestHandler
|
||||
}
|
||||
}
|
||||
|
||||
readfile($this->index);
|
||||
http_response_code(404);
|
||||
}
|
||||
}
|
||||
|
@@ -7,7 +7,7 @@ class Route
|
||||
private $uri;
|
||||
private $view;
|
||||
|
||||
public function __construct(string $method, string $uri, array $view)
|
||||
public function __construct(string $method, string $uri, array|\Closure $view)
|
||||
{
|
||||
$this->method = $method;
|
||||
$this->uri = $uri;
|
||||
@@ -21,6 +21,10 @@ class Route
|
||||
|
||||
public function execute(Request $request)
|
||||
{
|
||||
call_user_func($this->view, $request);
|
||||
if (is_array($this->view)) {
|
||||
call_user_func($this->view, $request);
|
||||
} else {
|
||||
$this->view->call($this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user