2012-05-22 28 views
1

有沒有其他方法可以在KO 3.2中將uri的參數更改爲$ this-> request-> uri($ params)?

實施例:

//Kohana 3.1 ; current uri = articles/show/10 (<controller>/<action>/<id>) 

$this->request->uri(array('id' => 11)); // return 'articles/show/11' 

由於

回答

3

由於3.2沒有此沒有 「短」 的方式,因爲現在$this->request->uri()返回當前URI。使用$this->request->route()->uri()所有PARAMS你需要:

$params = array('id' => 11); // what params you want to change 
$params += $this->request->param(); // current request params 
$params += array(
    // note that $this->request->param() doesnt contain directory/controller/action values! 
    'directory' => $this->request->directory(), 
    'controller' => $this->request->controller(), 
    'action' => $this->request->action(), 
); 
$uri = $this->request->route()->uri($params); 

當然,你可以創建這個特殊的方法(類似於$this->request->old_uri(array('id' => 11)))。

這是針對該API更改的issue link

+0

很可惜。它短得多。 :(我可能會創建特殊的方法,如你所說。thx – crash01

+0

試試這個 - https://gist.github.com/2773591 – biakaveron