/** * Permet d'ajouter le code de retour dans le header */ private function setHeaderStatus() { $httpVersion = Request::header('SERVER_PROTOCOL'); $codeReturn = $this->status; $statusReturn = $this->getStatusString(); $this->header("{$httpVersion} {$codeReturn} {$statusReturn}"); }
/** * Permet de tester les méthode de la facade */ public function testFacadeRequest() { $_SERVER = ['REMOTE_ADDR' => '127.0.0.10']; Request::setHeader('REQUEST_METHOD', 'POST'); $this->assertEquals('post', Request::method()); $this->assertEquals($_SERVER['REMOTE_ADDR'], Request::Ip()); $this->assertEquals('POST', Request::header('REQUEST_METHOD')); $this->assertTrue(Request::isCLI()); $this->assertFalse(Request::isAjax()); $this->assertNull(Request::IpInfo('127.0.0.1')); }
/** * Lance le router et appel les middlewares et le controller */ public function run() { $path = realpath(__DIR__ . '/../../bin/routes'); $configFolder = Config::get('folder'); if ($configFolder) { $routePath = $configFolder->routes; if ($routePath && file_exists($routePath)) { $path = $routePath; } } $rdi = new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS); $rit = new RecursiveIteratorIterator($rdi); foreach ($rit as $file) { if ($file->getExtension() === 'php') { $pathFile = $file->getRealPath(); require "{$pathFile}"; } } $method = Request::method(); $routeReturn = !Request::isCLI(); $route = Router::parse(RequestManager::getInstance()->url, $method, $routeReturn); if ($route instanceof Route) { echo $route->run(); } }