mimizzee 发表于 2010-11-5 17:11:29

请教Hex,关于CI的URL路由解析问题。

Codeigniter控制器中的方法可以通过增加参数的方式获得get的参数,
例如要获得http://localhost/codeigniter/index.php/view/index/a/b中a和b
可以在view控制器中这样写:

function index($a,$b)
{
    echo $a;
    echo $b;
}

通过读代码知道了URI.php中的方法_explode_segments()可以把uri_string解析为segments数组,
然后ci是怎样把segments数组中第3和第4个值赋给index方法中的$a和$b的呢?
请教Hex,谢谢。

sonic 发表于 2010-11-5 17:29:15

这个很简单的。我写个例子给你看看就知道了

foreach($_GET as $key=>$val)
{
   // ....
}

mimizzee 发表于 2010-11-5 17:32:49

继续阅读代码,自己解决了,
看CodeIgniter.php第236行代码:
call_user_func_array(array(&$CI, $method), array_slice($URI->rsegments, 2));
原来是用的Callback方法。

mimizzee 发表于 2010-11-5 17:33:43

用了无敌的debug方法,一行行跟踪出来的,好累~~

sonic 发表于 2010-11-5 17:40:14

哦。就是说怎么付给CI内置数组的是吧
页: [1]
查看完整版本: 请教Hex,关于CI的URL路由解析问题。