igfs/kernel/App.php

48 lines
925 B
PHP
Raw Normal View History

2024-07-29 15:57:20 +03:00
<?php
namespace kernel;
use app\helpers\Debug;
use Phroute\Phroute\Dispatcher;
class App
{
static string $responseType = ResponseType::TEXT_HTML;
static CgRouteCollector $collector;
static Header $header;
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));
2024-07-29 16:07:51 +03:00
//header('Content-Type: ' . App::$responseType);
2024-07-29 15:57:20 +03:00
App::$header->set();
echo $response;
}
public function load(): static
{
App::$collector = new CgRouteCollector();
$this->setRouting();
return $this;
}
public function setRouting(): void
{
include ROOT_DIR . "/rout.php";
}
public static function create(): App
{
return new self();
}
}