corso https://vola.udemy.com/course/php-mvc-from-scratch/learn/lecture/40931984#overview
filippo.bertilotti
2024-05-10 e2903b7b32aa672c9d821b0b18d26c20db5b00f4
commit | author | age
c4c562 1 <?php
7301d1 2
b62315 3 spl_autoload_register(function ($class) {
7301d1 4     require "src/". str_replace("\\", "/", $class). ".php";
b62315 5  });
0c028b 6
001175 7 $path = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);
F 8 $segments = explode("/", $path);
9
7301d1 10 $router = new Framework\Router;
2d9ddb 11
F 12 $router->add("/{controller}/{action}");
f9c82f 13 $router->add("/{controller}/{id}/{action}");
7adeb4 14 $router->add("/home/index", ["controller" => "home", "action" => "index"]);
F 15 $router->add("/products", ["controller" => "products", "action" => "index"]);
16 $router->add("/", ["controller" => "home", "action" => "index"]);
a412fe 17
4ce2a5 18
931be5 19 $params = $router->match($path);
F 20
f9c82f 21 print_r($params);
F 22
4ce2a5 23 if($params === false) {
F 24     exit("No routes matched");
25 }
26
b03686 27 $controller = "App\Controllers\\" . ucwords($params["controller"]);
931be5 28 $action = $params["action"];
5df29d 29
821b6d 30 $controller_object = new $controller;
7bc6e3 31
821b6d 32 $controller_object->$action();
7bc6e3 33