From addab242fe3986ab8e76aaa4448609ffbf9616ab Mon Sep 17 00:00:00 2001 From: filippo.bertilotti <filippobertilotti@gmail.com> Date: Thu, 16 May 2024 10:30:04 +0200 Subject: [PATCH] aggiunta possibilità di vedere gli errori o no (parte 98) --- index.php | 32 ++++++++++++++++++++++---------- 1 files changed, 22 insertions(+), 10 deletions(-) diff --git a/index.php b/index.php index 8ba4394..2227691 100644 --- a/index.php +++ b/index.php @@ -1,33 +1,45 @@ <?php +declare(strict_types= 1); +$show_errors = true; + +if($show_errors) { + ini_set("display_errors", "1"); +}else{ + ini_set("display_errors","0"); +} + + spl_autoload_register(function ($class) { require "src/". str_replace("\\", "/", $class). ".php"; }); $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 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}"); -$params = $router->match($path); +$container = new Framework\Container; -if($params === false) { - exit("No routes matched"); -} -$controller = "App\Controllers\\" . ucwords($params["controller"]); -$action = $params["action"]; +$container->set(App\Database::class, function() { + return new App\Database("localhost", "product_db", "product_db_user", "secret"); +}); -$controller_object = new $controller; +$dispatcher = new Framework\Dispatcher($router, $container); -$controller_object->$action(); - -$dispatcher = new Framework\Dispatcher($router); +$dispatcher->handle($path); \ No newline at end of file -- Gitblit v1.8.0