在Kohana 3中从查询字符串中获取值的正确方法是什么

Ger*_*haw 5 php kohana kohana-3

只是好奇什么是'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'));
}
Run Code Online (Sandbox Code Playgroud)

tip*_*nah 7

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

Request::current->query('variable')
Run Code Online (Sandbox Code Playgroud)

要么

$this->request->query('variable')
Run Code Online (Sandbox Code Playgroud)

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


Kem*_*emo 6

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

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

$var = isset($arr['key']) ? $array['key'] : NULL
Run Code Online (Sandbox Code Playgroud)

你刚才做的(Kohana 3.0)

$var = Arr::get($arr, 'key', NULL);
Run Code Online (Sandbox Code Playgroud)

或(Kohana 3.1+)

$var = $request->query('key');
Run Code Online (Sandbox Code Playgroud)