-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.php
More file actions
55 lines (40 loc) · 1.44 KB
/
Copy pathindex.php
File metadata and controls
55 lines (40 loc) · 1.44 KB
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
require_once __DIR__ . '/autoload.php';
use App\Services\Database\PDOConfig;
use App\Configuration\AppConfig;
use App\Configuration\Env;
use App\Services\Files\AssetFilesConfig;
use App\Services\Router\Router;
use App\Services\Logging\Logger;
use App\Services\Logging\LogHandlers\DBLogHandler;
use App\Services\Logging\LogHandlers\FileLogHandler;
use App\Services\Logging\LogHandlers\FileLogHandlerConfig;
use App\Services\Router\RouterError;
// Load configs
Env::Load();
AppConfig::Load();
AssetFilesConfig::Load();
PDOConfig::Load();
FileLogHandlerConfig::Load();
// Configure logging
Logger::RegisterHandler(new FileLogHandler());
Logger::RegisterHandler(new DBLogHandler());
// Configure router
$router = new Router();
$router->OnError(function (RouterError $error): void {
if ($error->GetType() == RouterError::TYPE_ACCESS) {
return; // Ignore access errors
}
$shutdown_error = $error->GetShutdownError();
Logger::LogError($shutdown_error['message'], $shutdown_error['file'] . ':' . $shutdown_error['line']);
});
// Configure routes
require_once __DIR__ . '/routes/rootRoutes.php';
require_once __DIR__ . '/routes/categoryRoutes.php';
require_once __DIR__ . '/routes/tagRoutes.php';
require_once __DIR__ . '/routes/assetRoutes.php';
require_once __DIR__ . '/routes/fileRoutes.php';
require_once __DIR__ . '/routes/userRoutes.php';
require_once __DIR__ . '/routes/adminRoutes.php';
// Dispatch request
$router->DispatchRequest();