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();
 | 
						|
    }
 | 
						|
 | 
						|
} |