Kohana 3.2 - Получить реферер URI - PullRequest
4 голосов
/ 12 сентября 2011

Я пытаюсь получить ссылочный URI в Kohana 3.2, используя следующий код:

$referrer = $this->request->referrer();
var_dump($referrer);

Однако функция возвращает NULL, я ожидаю, что она вернет страницу, которую я оставила, чтобы перейти к этойодин.

Так ли это должно работать ... и если да, то что я пропускаю или делаю неправильно?

Это выполняется в контроллере.

Документация здесь: http://kohanaframework.org/3.2/guide/api/Request#referrer

1 Ответ

3 голосов
/ 12 сентября 2011

Проблема, с которой я столкнулся, была вызвана настройкой системы Kohana.В основном у меня есть routeHandler в середине моей системы, который контролирует маршруты, по которым идут пользователи.В этом сценарии новый запрос был сгенерирован и затем выполнен.

То, что происходило, происходило, когда при создании нового объекта запроса к нему не добавлялся ссылочный uri.Я добавил следующий код, и теперь я могу получить ссылающийся URI из контроллера в конце процесса маршрутизации.

$referrer = $this->request->referrer();
$request = new Request($uri);
$request->referrer($referrer);

echo $request->execute()
             ->send_headers()
             ->body();

В качестве альтернативы более чистое более нативное решение, предложенное atma является следующим:

Request::initial()->referrer()
...