2011-01-15 1 views
1

Я считаю себя делать следующее или аналогичное довольно часто:Есть ли более простой способ перенаправления с использованием маршрута при добавлении параметров в Кохану?

Request::instance()->redirect(Route::get('route') 
    ->uri(array('action' => 'action'))); 

Или:

Request::instance()->redirect(Route::get(Route::name(Request::instance()->route)) 
    ->uri(array('action' => 'action'))); 

мне интересно, если есть какие-либо короткие, проще, более простой способ сделать это. Мне нравится функциональность Route, но это делает некоторые длинные строки PHP.

ответ

3

Если вы в контроллере сейчас, то:

$this->request->redirect(Route::url('route', array('action' => 'view'))); 

Это может быть немного более лаконичен.

+0

Сделано маленьким фиксированным. Route :: url() все еще нуждается в названии маршрута. –

+0

@ Даррил Хейн: упс, да, пропустил это. – zerkms

1

Если вы не хотите использовать название маршрута непосредственно, вы также можете выбрать маршрут текущего запроса в:

$this->request->redirect(Request::instance()->route->uri(array('action' => 'action'))); 

примечание: есть небольшая разница с Ури и URL-адресов методов Request :: redirect использует Url :: site для создания правильного URL-адреса