Пример #1
0
 /**
  * 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}");
 }
Пример #2
0
 /**
  * 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'));
 }
Пример #3
0
 /**
  * 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();
     }
 }