corso https://vola.udemy.com/course/php-mvc-from-scratch/learn/lecture/40931984#overview
filippo.bertilotti
2024-05-17 3c7c8c2cce7a5153546d30aa0c39372d1e45690e
index.php
@@ -1,14 +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);
if ($path === false) {
    throw new UnexpectedValueException("Malformed URL: {$_SERVER["REQUEST_URI"]}");
}
$segments = explode("/", $path);
$controller = $segments[1];
$action = $segments[2];
$router = require "config/routes.php";
require "src/controllers/$controller.php";
$container = new Framework\Container;
$controller_object = new $controller;
$controller_object->$action();
$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);