5

只是好奇从查询字符串中获取变量的“Kohana”方式是什么?

我能想到的最好的方法是用 Arr 类解析 $_GET var。有人有更好的方法来做到这一点吗?

// foo?a=1&b=2
function action_welcome()
{
    echo('a = '.Arr::get($_GET, 'a', '0'));
    echo('b = '.Arr::get($_GET, 'b', '0'));
}
4

2 回答 2

7

我认为使用 Arr::get 太笼统了,使用专门为此设计的特定 Kohana 方法更实用

Request::current->query('variable')

或者

$this->request->query('variable')

即使请求是内部的,您也可以将任何变量传递给它

于 2011-06-15T20:26:23.083 回答
6

这几乎是正确的方法,我只建议您尽可能使用 NULL 作为默认值,而不是字符串 '0'。

您还可以将此函数用于任何类型的数组,不仅是全局变量,因此

$var = isset($arr['key']) ? $array['key'] : NULL

你只是做(Kohana 3.0)

$var = Arr::get($arr, 'key', NULL);

或 (Kohana 3.1+)

$var = $request->query('key');
于 2010-07-22T17:25:05.847 回答