igfs/kernel/App.php

49 lines
952 B
PHP
Raw Normal View History

2024-07-29 15:57:20 +03:00
<?php
namespace kernel;
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));
App::$header->set();
2024-07-30 12:27:44 +03:00
//header('Content-Type: ' . App::$responseType);
2024-07-29 15:57:20 +03:00
echo $response;
}
public function load(): static
{
App::$collector = new CgRouteCollector();
$this->setRouting();
return $this;
}
public function setRouting(): void
{
2024-09-03 16:29:44 +03:00
include KERNEL_DIR . "/routs/admin.php";
2024-07-29 15:57:20 +03:00
include ROOT_DIR . "/rout.php";
}
public static function create(): App
{
return new self();
}
}