예제 #1
0
파일: RouterTest.php 프로젝트: quenti77/phq
 /**
  * Permet de tester les méthodes statiques pour le router
  */
 public function testRouterFactory()
 {
     Router::get('/', 'HomeController@index')->setName('index');
     Router::post('/', 'HomeController@insert')->setName('insert');
     Router::put('/{id:[0-9]+}', 'HomeController@update')->setName('update');
     Router::delete('/{id:[0-9]+}', 'HomeController@remove')->setName('remove');
     Router::group('/news', function () {
         Router::match(['get', 'post', 'patch', 'delete'], '/', 'NewsController@rest');
     });
     Router::any('/admin/news', 'AdminController@newsRest');
     $this->assertCount(5, RouterManager::getInstance()->routes);
     $this->assertCount(3, RouterManager::getInstance()->routes['GET']);
     $this->assertCount(3, RouterManager::getInstance()->routes['POST']);
     $this->assertCount(2, RouterManager::getInstance()->routes['PUT']);
     $this->assertCount(2, RouterManager::getInstance()->routes['PATCH']);
     $this->assertCount(3, RouterManager::getInstance()->routes['DELETE']);
     $this->assertTrue(Router::parse('/', 'get', false));
     $this->assertTrue(Router::parse('/1', 'put', false));
     $this->assertFalse(Router::parse('/users', 'get', false));
 }
예제 #2
0
파일: Home.php 프로젝트: quenti77/phq
<?php

use PHQ\Routing\Router;
Router::get('/', function () {
    return \PHQ\Http\Response::string('Welcome');
});
예제 #3
0
파일: easy.php 프로젝트: quenti77/phq
function url($name, array $params = [])
{
    return Router::url($name, $params);
}
예제 #4
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();
     }
 }