corso https://vola.udemy.com/course/php-mvc-from-scratch/learn/lecture/40931984#overview
filippo.bertilotti
2024-05-14 95ec2424f5adeea827cd69db83daacf9a6e866e1
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
0fc0f1 12 $router->add("/admin/{controller}/{action}", ["namespace" => "Admin"]);
2272ef 13 $router->add("/product/{slug:[\w-]+}", ["controller" => "products", "action" => "show"]);
1f822b 14 $router->add("/{title}/{id:\d+}/{page:\d+}", ["controller" => "products", "action" => "showPage"]);
c0c5ce 15 $router->add("/{controller}/{id:\d+}/{action}");
7adeb4 16 $router->add("/home/index", ["controller" => "home", "action" => "index"]);
F 17 $router->add("/products", ["controller" => "products", "action" => "index"]);
18 $router->add("/", ["controller" => "home", "action" => "index"]);
e53a93 19 $router->add("/{controller}/{action}");
4ce2a5 20
2bddb6 21 $container = new Framework\Container;
F 22
95ec24 23 $database = new App\Database("localhost", "product_db", "product_db_user", "secret");
F 24 $container->set(App\Database::class, $database);
25
2bddb6 26 $dispatcher = new Framework\Dispatcher($router, $container);
f6df29 27
F 28 $dispatcher->handle($path);
7bc6e3 29