这篇文章主要介绍CI核心框架工具类CI_Router。
如果说CI_URI类是用来解析URI,那么CI_Router类就应该是根据解析出来的URI来决定究竟访问哪一个文件和哪一个function。
详细步骤:
1.导入CI_Config和CI_URI类作为资源;
2.调用其中的_set_routing()方法,在该方法中首先把用户在config目录中设置的route.php的$route路由数组取出来;
3. 调用_parse_routes()方法,路由数组中的值和键可以利用正则表达式,甚至可以把值设置为回调函数,在这里分别进行处理;
4.调用_set_request()方法,分出$this->uri->segments或者$val中的控制器,方法,参数,将真正需要访问的类和方法存入$this->class,和$this->method,以方便以后的调用。
在Codeigniter.php中会调用:
$class = ucfirst($RTR->class); $method = $RTR->method;
参考: