35 lines
No EOL
1.1 KiB
PHP
35 lines
No EOL
1.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use Foundation\Core\Application\Application;
|
|
use Foundation\Core\Application\DependencyInjection\ContainerFactory;
|
|
use Foundation\Core\Application\Bootstrapper\ConfigInitializer;
|
|
use Foundation\Core\Application\Bootstrapper\DatabaseInitializer;
|
|
use Foundation\Core\Application\Bootstrapper\SessionInitializer;
|
|
use Foundation\Core\Application\Bootstrapper\SlimAppRegistrar;
|
|
use Foundation\Core\Application\Bootstrapper\ModuleLoader;
|
|
|
|
require_once dirname(__DIR__) . '/vendor/autoload.php';
|
|
|
|
try {
|
|
$container = ContainerFactory::create();
|
|
|
|
$app = new Application($container);
|
|
|
|
$app->addBootstrapper(new ConfigInitializer());
|
|
$app->addBootstrapper(new DatabaseInitializer());
|
|
$app->addBootstrapper(new SessionInitializer());
|
|
$app->addBootstrapper(new SlimAppRegistrar());
|
|
$app->addBootstrapper(new ModuleLoader());
|
|
|
|
$app->run();
|
|
} catch (\Throwable $e) {
|
|
http_response_code(500);
|
|
echo json_encode([
|
|
'error' => 'Application failed to start',
|
|
'message' => $e->getMessage(),
|
|
'file' => $e->getFile(),
|
|
'line' => $e->getLine(),
|
|
], JSON_PRETTY_PRINT);
|
|
} |