37 lines
811 B
PHP
37 lines
811 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use App\Application\ApplicationFactory;
|
|
use DI\ContainerBuilder;
|
|
use Psr\Log\LoggerInterface;
|
|
use Slim\Factory\AppFactory;
|
|
|
|
require __DIR__ . '/../vendor/autoload.php';
|
|
|
|
// Load environment variables
|
|
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__ . '/../');
|
|
$dotenv->load();
|
|
|
|
// Build DI container
|
|
$containerBuilder = new ContainerBuilder();
|
|
|
|
// Set up dependencies
|
|
$dependencies = require __DIR__ . '/../config/dependencies.php';
|
|
$dependencies($containerBuilder);
|
|
|
|
$container = $containerBuilder->build();
|
|
|
|
AppFactory::setContainer($container);
|
|
$app = AppFactory::create();
|
|
|
|
// Add middleware
|
|
$middleware = require __DIR__ . '/../config/middleware.php';
|
|
$middleware($app);
|
|
|
|
// Register routes
|
|
$routes = require __DIR__ . '/../config/routes.php';
|
|
$routes($app);
|
|
|
|
$app->run();
|