Как правильно получить значения из строки запроса в Kohana 3 - PullRequest
5 голосов
/ 22 июля 2010

Просто любопытно, как «Kohana» получает переменные из строки запроса?

Лучшее, что я могу придумать, - это синтаксический анализ переменной $ _GET с классом Arr. У кого-нибудь есть лучший способ сделать это?

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

Ответы [ 2 ]

7 голосов
/ 16 июня 2011

Я думаю, что использование Arr :: get является слишком общим, более практичным является использование определенного метода Кохана, предназначенного именно для этого

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

или

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

даже если запрос внутренний, в него можно передавать любые переменные

6 голосов
/ 22 июля 2010

Это довольно правильный путь, я бы предложил вам использовать NULL по умолчанию вместо строки '0' везде, где вы можете.

Вы также можете использовать эту функцию для любого вида массива, не только для глобальных переменных, поэтому вместо

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

Вы просто делаете (Kohana 3.0)

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

или (Кохана 3,1 +)

$var = $request->query('key');
...