我们假设该路由采用的是:url/index.php/controller/function的访问模式,所以我们只需要获取index.php的PATH_INFO参数,然后进行解析分别得到控制器和对应方法的名字即可。
router.php
$path = isset($_SERVER['PATH_INFO'])? $_SERVER['PATH_INFO']:null;
$path_array = explode("/",$path);
$path_array = array_slice($path_array,1,2);
$controller = '';
$function = '';
if(count($path_array)<2){
//访问首页
if(count($path_array)==1){
$controller = $path_array[0];
$function = "index";
}else{
$controller = "index";
$function = "index";
}
}else{
$controller = $path_array[0];
$function = $path_array[1];
}
$controller .= "Controller";
$controller_obj = new $controller;
$controller_obj->$function();
该路由文件实例化的类都可以自动载入,mvc的自动加载类可以参照上一篇博文。
全文完~