FastRoute提供了一个快速实现基于路由的规则表达。
示例代码:
<?phprequire '/path/to/FastRoute/src/bootstrap.php';$dispatcher = FastRoute\simpleDispatcher(fuctio(FastRoute\RouteCollector $r) { $r->addRoute('GET', '/user/{id:\d+}', 'hadler1'); $r->addRoute('GET', '/user/{id:\d+}/{ame}', 'hadler2'); // Or alteratively $r->addRoute('GET', '/user/{id:\d+}[/{ame}]', 'commo_hadler');});$routeIfo = $dispatcher->dispatch($httpMethod, $uri);switch ($routeIfo[0]) { case FastRoute\Dispatcher::NOT_FOUND: // ... 404 Not Foud break; case FastRoute\Dispatcher::METHOD_NOT_ALLOWED: $allowedMethods = $routeIfo[1]; // ... 405 Method Not Allowed break; case FastRoute\Dispatcher::FOUND: $hadler = $routeIfo[1]; $vars = $routeIfo[2]; // ... call $hadler with $vars break;}









评论