86400, 'cookie_secure' => true, 'cookie_httponly' => true, 'cookie_samesite' => 'Strict' ]); if(empty($_SESSION['token'])) $_SESSION['token'] = bin2hex(random_bytes(32)); require_once __DIR__ . "/../vendor/autoload.php"; use Blog\Core\Router; use Blog\Core\Container; use Blog\Template\Twig; use Blog\Utils\AuthHelper; AuthHelper::initialize(new Blog\Model\UserModel()); $router = new Router(); $container = new Container(); $container->set('postModel', fn() => new Blog\Model\PostModel()); $container->set('userModel', fn() => new Blog\Model\UserModel()); $twig = new Twig(__DIR__ . "/../views"); $twig->setGlobals([ 'isLoggedIn' => Blog\Utils\AuthHelper::isLoggedIn(), 'csrf' => Blog\Middleware\AuthMiddleware::generateCSRFToken() ]); $twig = $container->set('twig', fn() => $twig); require_once __DIR__ . "/../routes/web.php"; $router->dispatch( new Blog\Http\Request($_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI']), new Blog\Http\Response );