PHP

php router有案例吗

小樊
81
2024-10-17 16:30:57
栏目: 编程语言

当然有!下面是一个简单的PHP路由案例,使用了内置的$_SERVER['REQUEST_URI']变量来解析请求的URI,并根据URI调用相应的控制器方法。

<?php
// 路由定义
$routes = [
    '/' => 'HomeController@index',
    '/about' => 'AboutController@index',
    '/contact' => 'ContactController@index',
];

// 路由解析
$requestUri = $_SERVER['REQUEST_URI'];
$routeFound = false;
$controllerMethod = '';

foreach ($routes as $route => $handler) {
    if (strpos($requestUri, $route) === 0) {
        $routeFound = true;
        list($controller, $method) = explode('@', $handler);
        break;
    }
}

// 路由处理
if ($routeFound) {
    // 调用控制器方法
    $controllerInstance = new $controller();
    call_user_func_array([$controllerInstance, $method], []);
} else {
    // 处理404错误
    echo '404 Not Found';
}
?>

在这个例子中,我们定义了三个路由://about/contact,分别对应HomeControllerAboutControllerContactControllerindex方法。当用户访问这些URL时,PHP脚本会解析请求的URI,并根据URI调用相应的控制器方法。

请注意,这个例子仅用于演示目的,实际项目中通常会使用更复杂的路由系统,例如Laravel框架中的路由系统。

0
看了该问题的人还看了