From ed1f744e1cf0045540c2e6349cc7dcc5031c8652 Mon Sep 17 00:00:00 2001
From: filippo.bertilotti <filippobertilotti@gmail.com>
Date: Tue, 14 May 2024 11:38:23 +0200
Subject: [PATCH]  (parte 86)

---
 index.php |   31 +++++++++++++++++--------------
 1 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/index.php b/index.php
index 1da17f5..f38c0a8 100644
--- a/index.php
+++ b/index.php
@@ -1,21 +1,24 @@
 <?php
 
-$action = $_GET["action"];
-$controller = $_GET["controller"];
+spl_autoload_register(function ($class) {
+    require "src/". str_replace("\\", "/", $class). ".php";
+ });
 
-if($controller === "products") {
-    require "src/controllers/products.php";
-    $controller_object = new Products;
-}elseif($controller === "home") {
-    require "src/controllers/home.php";
-    $controller_object = new Home;
+$path = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);
+$segments = explode("/", $path);
 
-}
+$router = new Framework\Router;
 
+$router->add("/admin/{controller}/{action}", ["namespace" => "Admin"]);
+$router->add("/product/{slug:[\w-]+}", ["controller" => "products", "action" => "show"]);
+$router->add("/{title}/{id:\d+}/{page:\d+}", ["controller" => "products", "action" => "showPage"]);
+$router->add("/{controller}/{id:\d+}/{action}");
+$router->add("/home/index", ["controller" => "home", "action" => "index"]);
+$router->add("/products", ["controller" => "products", "action" => "index"]);
+$router->add("/", ["controller" => "home", "action" => "index"]);
+$router->add("/{controller}/{action}");
 
-if($action === "index") {
-    $controller_object->index();
-}elseif($action === "show") {
-    $controller_object->show();
-}
+$dispatcher = new Framework\Dispatcher($router);
+
+$dispatcher->handle($path);
     
\ No newline at end of file

--
Gitblit v1.8.0