-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.php
34 lines (26 loc) · 1.04 KB
/
index.php
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
31
32
33
34
<?php
namespace App;
require_once 'vendor/autoload.php';
use AuthController\AuthController;
use Dotenv\Dotenv;
use HomeController\HomeController;
use Http\Request;
use Http\Response;
use Router\Router;
use UserController\UserController;
$dotenv = Dotenv::createImmutable(__DIR__);
$dotenv->load();
$request = new Request();
$response = new Response();
$response->setHeader('Content-Type: application/json; charset=UTF-8');
$router = new Router($request->getUrl(), $request->getHttpMethod());
$router->get("/", [HomeController::class, 'index']);
$router->get('/users/{id}', [UserController::class, 'getUser']);
$router->get('/users', [UserController::class, 'getUsers']);
$router->post('/users/register', [UserController::class, 'createUser']);
$router->put('/users/{id}', [UserController::class, 'updateUser']);
$router->delete('/users/{id}', [UserController::class, 'deleteUser']);
$router->post('/auth/login', [AuthController::class, 'login']);
$router->post('/auth/refresh', [AuthController::class, 'refresh']);
$router->dispatch();
$response->render();