Url 如何使用kohana3 Request::factory命令发送get参数?
我有一个Kohana3MVC应用程序 在视图中,我可以使用以下行显式调用控制器的操作:Url 如何使用kohana3 Request::factory命令发送get参数?,url,kohana-3,requestfactory,Url,Kohana 3,Requestfactory,我有一个Kohana3MVC应用程序 在视图中,我可以使用以下行显式调用控制器的操作: Request::factory('/test/deliveryaddress')->execute(); 但我还想向操作发送一个参数,并进行如下处理: public function action_deliveryaddress($region_name = NULL) { $view = new View('test/deliveryaddress'); $region_name
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
如何使用Request::factory()发送GET变量,或者是否有更好的方法将GET参数发送到操作?对于3.1,可以使用
Request
类的query()
方法:
equest::factory('/test/deliveryaddress?)->query('region_name', 'top')->execute();
对于3.0,没有真正的隔离,您必须操作$\u GET
数组。从请求类和控制器中使用query()
而不是:
$region_name = isset($_GET['region_name']) ? $_GET['region_name'] : '';
尝试:
$get = $this->request->query();
$region_name = isset($get['region_name']) ? $get['region_name'] : '';