| | |
| | | <?php |
| | | require "model.php"; |
| | | $model = new Model; |
| | | $products = $model->getData(); |
| | | ?> |
| | | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="UTF-8"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| | | <title>Products</title> |
| | | </head> |
| | | <body> |
| | | <h1>Products</h1> |
| | | <?php foreach ($products as $product): ?> |
| | | <h2><?= htmlspecialchars($product["name"]) ?></h2> |
| | | <p><?= htmlspecialchars($product["description"]) ?></p> |
| | | <?php endforeach; ?> |
| | | </body> |
| | | </html> |
| | | 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("/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}"); |
| | | |
| | | $dispatcher = new Framework\Dispatcher($router); |
| | | |
| | | $dispatcher->handle($path); |
| | | |