This repository has been archived on 2023-01-06. You can view files and clone it, but cannot push or open issues or pull requests.
web/app/inc.php
2022-01-27 23:17:43 +01:00

50 lines
802 B
PHP

<?php
/*
This is the main file to be included on every page.
It will act as a front controller of our application.
_____
/ \
| () () |
\ ^ /
|||||
|||||
Tread carefully
*/
// Disable type coercion
declare(strict_types=1);
// Autoloader
spl_autoload_register(function ($class_name) {
require __DIR__ . '/core/' . $class_name . '.php';
});
// Error and exception handling
new ErrorHandler;
// Setup
$config = (
new Config(__DIR__ . '/config.php')
)->config;
$database = new Database($config['database']);
$session = new Session;
$user = new User($session);
$app = new App(
$config,
$database,
$session,
$user
);
// We will use $app instead
unset(
$config,
$database,
$session,
$user
);
return $app;