safeLoad(); } error_reporting(E_ALL); // CorsMiddleware é GLOBAL: roda antes do roteamento para também responder ao // preflight OPTIONS (que não possui rota e cairia em 404 sem este tratamento). $app = new App(new CorsMiddleware()); // As rotas (com autenticação JWT e autorização por papel) ficam centralizadas // em routes/Dispatcher.php. Dispatcher::register($app); $app->run();