Как я могу отправить параметры получения с помощью команды Kohana 3 Request::factory?

У меня есть приложение Kohana 3 MVC.

В представлении я могу явно вызвать действие контроллера с помощью этой строки:

Request::factory('/test/deliveryaddress')->execute();

Но я также хочу отправить параметр действию для обработки следующим образом:

public function action_deliveryaddress($region_name = NULL)
{
    $view = new View('test/deliveryaddress');
    $region_name = isset($_GET['region_name']) ? $_GET['region_name'] : '';
    $view->set('region_name', $region_name);
    $this->request->response = $view;
}

Я пробовал эти две попытки, но они не работают:

Request::factory('/test/deliveryaddress?region_name=top')->execute(); //error
Request::factory('/test/deliveryaddress', array('region_name'=>'top'))->execute(); //ignored

Как я могу отправить переменную GET с помощью Request::factory() или есть лучший способ отправить параметры GET в действие?


person Edward Tanguay    schedule 05.04.2011    source источник


Ответы (2)


Для 3.1 вы можете использовать метод query() класса Request:

equest::factory('/test/deliveryaddress?)->query('region_name', 'top')->execute();

Для версии 3.0 реальной изоляции нет, и приходится манипулировать массивом $_GET.

person Ikke    schedule 05.04.2011

используйте query() из класса Request и в вашем контроллере

вместо:

$region_name = isset($_GET['region_name']) ? $_GET['region_name'] : '';

пытаться:

$get = $this->request->query();
$region_name = isset($get['region_name']) ? $get['region_name'] : '';
person helmi03    schedule 11.07.2011