<?php namespace kernel; use kernel\helpers\Debug; use kernel\modules\user\models\User; use kernel\services\ModuleService; use Phroute\Phroute\Dispatcher; class App { static string $responseType = ResponseType::TEXT_HTML; static CgRouteCollector $collector; static Header $header; static User $user; static array $secure; public ModuleService $moduleService; public static Database $db; public function run(): void { $dispatcher = new Dispatcher(App::$collector->getData()); $response = $dispatcher->dispatch($_SERVER['REQUEST_METHOD'], parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)); App::$header->set(); //header('Content-Type: ' . App::$responseType); echo $response; } public function load(): static { $this->moduleService = new ModuleService(); App::$collector = new CgRouteCollector(); $this->setRouting(); return $this; } public function setRouting(): void { include KERNEL_DIR . "/routs/admin.php"; include ROOT_DIR . "/rout.php"; $modules_routs = $this->moduleService->getModulesRouts(); foreach ($modules_routs as $rout){ include "$rout"; } } public static function create(): App { return new self(); } }