<?php

declare(strict_types=1);

use App\Framework\Performance\PerformanceMeter;
use App\Framework\Core\AppBootstrapper;

require __DIR__ . '/../vendor/autoload.php';
require __DIR__ . '/../src/Framework/Debug/helpers.php';

// Fehleranzeige für die Entwicklung aktivieren
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

register_shutdown_function(function() {
    $error = error_get_last();
    if ($error !== null) {
        echo "SHUTDOWN ERROR: " . print_r($error, true);
    }
});


$meter = new PerformanceMeter();

// Konfiguration
$config = [
    'debug' => true,
    'async_discovery' => true,
    // weitere Konfigurationsoptionen...
];

// Anwendung initialisieren und ausführen
$basePath = dirname(__DIR__);
$bootstrapper = new AppBootstrapper($basePath, $meter, $config);
$app = $bootstrapper->bootstrapWeb();

// Anwendung ausführen
$app->run();

exit;
