corso https://vola.udemy.com/course/php-mvc-from-scratch/learn/lecture/40931984#overview
filippo.bertilotti
2024-05-09 7adeb48a145da4ff7c2a697d9edc2a627e8958a0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
 
spl_autoload_register(function ($class) {
    require "src/". str_replace("\\", "/", $class). ".php";
 });
 
$path = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);
$segments = explode("/", $path);
 
$router = new Framework\Router;
 
$router->add("/{controller}/{action}");
$router->add("/home/index", ["controller" => "home", "action" => "index"]);
$router->add("/products", ["controller" => "products", "action" => "index"]);
$router->add("/", ["controller" => "home", "action" => "index"]);
 
 
$params = $router->match($path);
 
if($params === false) {
    exit("No routes matched");
}
 
$controller = "App\Controllers\\" . ucwords($params["controller"]);
$action = $params["action"];
 
$controller_object = new $controller;
 
$controller_object->$action();