代码点火器:'_重新映射';第二个参数(应该是url段)返回空?

代码点火器:'_重新映射';第二个参数(应该是url段)返回空?,url,codeigniter,segment,remap,Url,Codeigniter,Segment,Remap,我有个问题。我已使用'\u remap'函数重写了CI对方法的默认调用。当我传递一个参数(当然是被重写的方法,uri的第二段)时,一切都正常工作。但是,按照用户指南的说明,当我尝试通过下面的方法检索url的其他段时,$params数组是空的吗?我在我的主视图中对$a变量使用了一个var dump,它总是显示数组为空,即使uri的第三段存在 《CI用户指南》规定“方法名称后的任何额外段都将作为可选的第二个参数传递到_remap()。”(http://codeigniter.com/user_gui

我有个问题。我已使用'\u remap'函数重写了CI对方法的默认调用。当我传递一个参数(当然是被重写的方法,uri的第二段)时,一切都正常工作。但是,按照用户指南的说明,当我尝试通过下面的方法检索url的其他段时,$params数组是空的吗?我在我的主视图中对$a变量使用了一个var dump,它总是显示数组为空,即使uri的第三段存在

《CI用户指南》规定“方法名称后的任何额外段都将作为可选的第二个参数传递到_remap()。”(http://codeigniter.com/user_guide/general/controllers.html)但事实并非如此。有人知道我可能做错了什么吗

class Services extends Controller {
 var $group = 'services';
function Services()
{
    parent::Controller();
    $this->load->helper('url');
}

public function _remap($subPage, $params = array()){

    $pageData = $this->page_builder->buildPage($this->group,$subPage);
    if($subPage != 'index'){ $pageData['thisPage'] = $this->group .'/' . $subPage; }
    else{ $pageData['thisPage'] = $this->group; }
    $pageData['a'] = $params;
    $this->load->view('main_view', $pageData);
}
}


谢谢。

我也有类似的问题,所以我做了一些小调整,对我来说很有效:

$segs = $this->uri->segment_array();
        $params=array_slice($segs, array_search($method, $segs));