PHP 快速需求路由:FastRoute

sdww 6年前

FastRoute 提供了一个快速实现基于路由的规则表达。

示例代码:

<?php  require '/path/to/FastRoute/src/bootstrap.php';  $dispatcher = FastRoute\simpleDispatcher(function(FastRoute\RouteCollector $r) {      $r->addRoute('GET', '/user/{id:\d+}', 'handler1');      $r->addRoute('GET', '/user/{id:\d+}/{name}', 'handler2');      // Or alternatively      $r->addRoute('GET', '/user/{id:\d+}[/{name}]', 'common_handler');  });  $routeInfo = $dispatcher->dispatch($httpMethod, $uri);  switch ($routeInfo[0]) {      case FastRoute\Dispatcher::NOT_FOUND:          // ... 404 Not Found          break;      case FastRoute\Dispatcher::METHOD_NOT_ALLOWED:          $allowedMethods = $routeInfo[1];          // ... 405 Method Not Allowed          break;      case FastRoute\Dispatcher::FOUND:          $handler = $routeInfo[1];          $vars = $routeInfo[2];          // ... call $handler with $vars          break;  }

项目主页:http://www.open-open.com/lib/view/home/1437228582428