This commit is contained in:
2026-04-02 16:33:32 +02:00
parent 72108d4d03
commit e79cc73e6d
17 changed files with 720 additions and 23 deletions

View File

@@ -7,6 +7,7 @@ use App\Helpers\Authentification;
use App\Helpers\AutoLoader;
use App\Helpers\ConfigFactory;
use App\Http\Router;
use App\Infrastructure\Database;
/**
* Classe primaire du site.
@@ -22,6 +23,14 @@ final class Kernel {
*/
public private(set) static array $configs = [];
/**
* Instance à la base de données.
* Pour utiliser la classe PDO : $DB->PDO.
*
* @var Database|null
*/
public private(set) static ?Database $DB = null;
/**
* Instance actuelle de l'application.
* @var Kernel|null
@@ -62,6 +71,7 @@ final class Kernel {
public function init(): void {
$this->buildAutoloader();
$this->loadConfig();
$this->loadDatabase();
Authentification::startSession();
@@ -89,6 +99,7 @@ final class Kernel {
try {
self::$configs['general'] = ConfigFactory::loadConfigFile('general');
self::$configs['database'] = ConfigFactory::loadConfigFile('database');
self::$configs['route_arguments'] = ConfigFactory::loadConfigFile('route_arguments');
self::$configs['views'] = ConfigFactory::loadConfigFile('views');
@@ -97,4 +108,12 @@ final class Kernel {
}
}
/**
* Permet de se connecter à la base de données principale.
* @return void
*/
private function loadDatabase(): void {
self::$DB = new Database( self::$configs['database'] );
}
}