From 3c7c8c2cce7a5153546d30aa0c39372d1e45690e Mon Sep 17 00:00:00 2001 From: filippo.bertilotti <filippobertilotti@gmail.com> Date: Fri, 17 May 2024 11:50:57 +0200 Subject: [PATCH] creazione file config apposito per le routes (parte 107) --- index.php | 40 +++++++++++++++++++++------------------- 1 files changed, 21 insertions(+), 19 deletions(-) diff --git a/index.php b/index.php index 9aff11e..0a93231 100644 --- a/index.php +++ b/index.php @@ -1,31 +1,33 @@ <?php +declare(strict_types= 1); + spl_autoload_register(function ($class) { require "src/". str_replace("\\", "/", $class). ".php"; }); +set_error_handler("Framework\ErrorHandler::handleError"); + +set_exception_handler("Framework\ErrorHandler::handleException"); + + $path = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH); -$segments = explode("/", $path); - -$router = new Framework\Router; - -$router->add("/product/{slug:[\w-]+}", ["controller" => "products", "action" => "show"]); -$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}"); - -$params = $router->match($path); - -if($params === false) { - exit("No routes matched"); +if ($path === false) { + throw new UnexpectedValueException("Malformed URL: {$_SERVER["REQUEST_URI"]}"); } -$controller = "App\Controllers\\" . ucwords($params["controller"]); -$action = $params["action"]; +$segments = explode("/", $path); -$controller_object = new $controller; +$router = require "config/routes.php"; -$controller_object->$action(); +$container = new Framework\Container; + + +$container->set(App\Database::class, function() { + return new App\Database("localhost", "product_db", "product_db_user", "secret"); +}); + +$dispatcher = new Framework\Dispatcher($router, $container); + +$dispatcher->handle($path); \ No newline at end of file -- Gitblit v1.8.0