Kohana 3.2-получить реферер URI


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

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

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

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

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

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

1 4

1 ответ:

Проблема, с которой я столкнулся, была вызвана тем, как настроена моя система 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()