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

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

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

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 в действие?

Ответы [ 2 ]

3 голосов
/ 05 апреля 2011

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

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

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

0 голосов
/ 11 июля 2011

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

вместо:

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

try:

$get = $this->request->query();
$region_name = isset($get['region_name']) ? $get['region_name'] : '';
...