Lectures/includes/config.php

33 lines
899 B
PHP

<?php
ini_set('session.gc_maxlifetime', 30 * 24 * 60 * 60); // 30 jours en secondes
ini_set('session.cookie_lifetime', 30 * 24 * 60 * 60);
session_set_cookie_params([
'lifetime' => 30 * 24 * 60 * 60,
'path' => '/',
'secure' => true,
'httponly' => true,
'samesite' => 'Strict'
]);
session_start();
class Config {
private static $config = null;
public static function load() {
if (self::$config === null) {
$configFile = __DIR__ . '/../config.json';
if (!file_exists($configFile)) {
throw new Exception('Configuration file not found');
}
self::$config = json_decode(file_get_contents($configFile), true);
}
return self::$config;
}
public static function get($key, $default = null) {
$config = self::load();
return $config[$key] ?? $default;
}
}