Route::get('/post/{id}', 'PostController@show');
Route::any('/{any}', function($any) { return 'Page not found'; });
composer require nikic/fast-route
use FastRoute\Router; $router = new Router; $router->addRoute('GET', '/post/{id}', 'PostController@show'); $router->addRoute('GET', '/{any}', function($any) { return 'Page not found'; });
$routeInfo = $router->dispatch($_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI']); switch ($routeInfo[0]) { case Router::NOT_FOUND: // handle 404 Not Found break; case Router::METHOD_NOT_ALLOWED: // handle 405 Method Not Allowed break; case Router::FOUND: // handle the found route $handler = $routeInfo[1]; $vars = $routeInfo[2]; // call the corresponding controller/action call_user_func_array([$handler[0], $handler[1]], $vars); break; }