<?php require '/path/to/vendor/autoload.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'); }); // Fetch method and URI from somewhere $httpMethod = $_SERVER['REQUEST_METHOD']; $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; }
Wtedy $routeInfo zawsze jest pusty. Czy pomoże mi ktoś zrozumieć zasady działania tego Routera? Czy muszę użyć przekierowań w pliku .htaccess? Chciałbym wiedzieć jak definiowane są linki oraz jak je odbierać.