From b87ffe00b00d9d473db15ebd251553b17a5eff94 Mon Sep 17 00:00:00 2001
From: filippo.bertilotti <filippobertilotti@gmail.com>
Date: Mon, 20 May 2024 09:46:24 +0200
Subject: [PATCH] inizializzazione .env e classe apposita che la gestisce (parte 110)

---
 index.php |   36 +++++++++++++++++++++++-------------
 1 files changed, 23 insertions(+), 13 deletions(-)

diff --git a/index.php b/index.php
index 32bb1da..d97f727 100644
--- a/index.php
+++ b/index.php
@@ -1,22 +1,32 @@
 <?php
-require "src/router.php";
+
+declare(strict_types= 1);
+
+spl_autoload_register(function ($class) {
+    require "src/". str_replace("\\", "/", $class). ".php";
+ });
+
+$dotenv = new Framework\Dotenv;
+$dotenv->load(".env");
+print_r($_ENV);
+
+set_error_handler("Framework\ErrorHandler::handleError");
+
+set_exception_handler("Framework\ErrorHandler::handleException");
+
 
 $path = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);
+if ($path === false) {
+    throw new UnexpectedValueException("Malformed URL: {$_SERVER["REQUEST_URI"]}");
+}
+
 $segments = explode("/", $path);
 
-$router = new Router;
-$router->add("/home/index", ["controller" => "home", "action" => "index"]);
-$router->add("/products", ["controller" => "products", "action" => "index"]);
-$router->add("/", ["controller" => "home", "action" => "index"]);
+$router = require "config/routes.php";
 
-$params = $router->match($path);
+$container = require "config/services.php";
 
-$controller = $params["controller"];
-$action = $params["action"];
+$dispatcher = new Framework\Dispatcher($router, $container);
 
-require "src/controllers/$controller.php";
-
-$controller_object = new $controller;
-
-$controller_object->$action();
+$dispatcher->handle($path);
     
\ No newline at end of file

--
Gitblit v1.8.0