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);
|
|
|
|
|
|
2026-09-11 04:52:57 +00:00
|
|
|
use SiteWeaver\Core\Container;
|
2026-09-15 04:04:55 +00:00
|
|
|
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-11 04:52:57 +00:00
|
|
|
|
2026-09-09 23:58:20 +00:00
|
|
|
require __DIR__ . '/../vendor/autoload.php';
|
|
|
|
|
|
|
|
|
|
$container = new Container();
|
2026-09-10 19:17:19 +00:00
|
|
|
|
2026-09-15 04:04:55 +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;
|