49 lines
926 B
PHP
49 lines
926 B
PHP
<?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));
|
|
App::$header->set();
|
|
|
|
//header('Content-Type: ' . App::$responseType);
|
|
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();
|
|
}
|
|
|
|
} |