2021-07-23 03:18:33 +02:00
|
|
|
<?php
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
|
|
require_once __DIR__ . '/../vendor/autoload.php';
|
|
|
|
|
|
2021-09-24 20:45:36 +02:00
|
|
|
use MailAccountAdmin\Config\Loaders\AutoConfigLoader;
|
2021-07-23 03:18:33 +02:00
|
|
|
use MailAccountAdmin\Dependencies;
|
|
|
|
|
use MailAccountAdmin\Middlewares;
|
|
|
|
|
use MailAccountAdmin\Routes;
|
|
|
|
|
use Slim\Factory\AppFactory;
|
|
|
|
|
|
2021-07-26 23:52:59 +02:00
|
|
|
session_start();
|
|
|
|
|
|
2021-09-24 20:45:36 +02:00
|
|
|
// Load application config (from environment or config file)
|
|
|
|
|
$configLoader = new AutoConfigLoader();
|
|
|
|
|
$config = $configLoader->loadConfig();
|
|
|
|
|
|
|
|
|
|
// Create application
|
2021-09-24 20:24:07 +02:00
|
|
|
$container = Dependencies::createContainer($config);
|
2021-07-23 03:18:33 +02:00
|
|
|
$app = AppFactory::createFromContainer($container);
|
|
|
|
|
|
2021-09-24 20:24:07 +02:00
|
|
|
Middlewares::setMiddlewares($app, $config);
|
2021-07-23 03:18:33 +02:00
|
|
|
Routes::setRoutes($app);
|
|
|
|
|
|
|
|
|
|
$app->run();
|