SiteWeaver_CMS/config/bootstrap.php

40 lines
1.5 KiB
PHP
Raw Normal View History

2026-09-09 23:58:20 +00:00
<?php
2026-09-10 19:36:00 +00:00
/**
* File: config/bootstrap.php
*
* Author: Funky Waddle
* Date: 2026-09-10
*
* Purpose:
* Bootstrap configuration and DI container.
*/
2026-09-09 23:58:20 +00:00
declare(strict_types=1);
use SiteWeaver\Core\Container;
use SiteWeaver\Core\Providers\ConfigServiceProvider;
use SiteWeaver\Core\Providers\DatabaseServiceProvider;
use SiteWeaver\Core\Providers\Repositories\PermissionRepositoryServiceProvider;
use SiteWeaver\Core\Providers\Repositories\RoleRepositoryServiceProvider;
use SiteWeaver\Core\Providers\Repositories\UserRepositoryServiceProvider;
use SiteWeaver\Core\Providers\SessionServiceProvider;
use SiteWeaver\Core\Providers\TOTPServiceProvider;
use SiteWeaver\Core\Providers\AuthServiceProvider;
use SiteWeaver\Core\Providers\RouterServiceProvider;
2026-09-09 23:58:20 +00:00
require __DIR__ . '/../vendor/autoload.php';
$container = new Container();
2026-09-10 19:17:19 +00:00
// Register providers in dependency order
$container->addServiceProvider(new ConfigServiceProvider($container));
$container->addServiceProvider(new DatabaseServiceProvider($container));
$container->addServiceProvider(new UserRepositoryServiceProvider($container));
$container->addServiceProvider(new RoleRepositoryServiceProvider($container));
$container->addServiceProvider(new PermissionRepositoryServiceProvider($container));
$container->addServiceProvider(new SessionServiceProvider($container));
$container->addServiceProvider(new TOTPServiceProvider($container));
$container->addServiceProvider(new AuthServiceProvider($container));
$container->addServiceProvider(new RouterServiceProvider($container));
2026-09-09 23:58:20 +00:00
return $container;