只是好奇从查询字符串中获取变量的“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'));
}
我认为使用 Arr::get 太笼统了,使用专门为此设计的特定 Kohana 方法更实用
Request::current->query('variable')
或者
$this->request->query('variable')
即使请求是内部的,您也可以将任何变量传递给它
这几乎是正确的方法,我只建议您尽可能使用 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');