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-02-02 12:47:06 +01:00

52 lines
824 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';
});
/* === App Setup === */
new ErrorHandler;
$config = (
new Config(__DIR__ . '/config.php')
)->config;
$database = new Database($config['database']);
$session = new Session;
$user = new User($session, $database);
new AccessControl($user);
$app = new App(
$config,
$database,
$session,
$user
);
// We will use $app instead
unset(
$config,
$database,
$session,
$user
);
return $app;