阅读量:0
PHP 路由器(Route)是可以自定义的。路由是 Web 应用程序中负责将请求映射到特定处理逻辑的重要组成部分。自定义路由器能让你根据自己的需求来设计和实现请求的处理流程。
以下是一个简单的 PHP 路由器示例,可以根据请求的 URL 和 HTTP 方法来调用相应的处理函数:
<?php class Router { private $routes = []; public function addRoute($route, $handler) { $this->routes[$route] = $handler; } public function handleRequest($request) { $uri = parse_url($request, PHP_URL_PATH); $method = $_SERVER['REQUEST_METHOD']; if (array_key_exists($uri, $this->routes)) { return $this->routes[$uri]($request); } else { return "404 Not Found"; } } } $router = new Router(); $router->addRoute('/', function ($request) { return "Hello, World!"; }); $router->addRoute('/user/profile', function ($request) { return "User Profile"; }); $router->addRoute('/user/settings', function ($request) { return "User Settings"; }); $request = "GET /user/profile HTTP/1.1\r\nHost: example.com\r\n\r\n"; echo $router->handleRequest($request);
这个示例中的 Router
类有两个方法:addRoute
用于添加路由和处理函数之间的映射关系;handleRequest
用于处理来自客户端的请求。你可以根据自己的需求扩展这个类,实现更复杂的功能,如参数捕获、RESTful API 路由等。