我正在尝试使用以下代码获取Kohana 3.2中的referrer URI:
$referrer = $this->request->referrer();
var_dump($referrer);
但是函数返回NULL,我希望它返回我离开的页面。
它应该是这样工作的吗?如果是这样,我错过了什么或做错了什么?
该程序正在控制器中运行。
文档在这里:http://kohanaframework.org/3.2/guide/api/Request#referrer
我遇到的问题是由我的Kohana系统的设置方式引起的。基本上,我有一个routeHandler在我的系统中间,它控制着用户使用的路由。在该脚本中,生成了一个新的请求,然后执行。
发生的事情是当创建新的请求对象时,它没有将referrer uri添加到它。我已经添加了以下代码,现在我能够在路由过程结束时从控制器获得引用的uri。
$referrer = $this->request->referrer();
$request = new Request($uri);
$request->referrer($referrer);
echo $request->execute()
->send_headers()
->body();
atma建议的一个更简洁的本地解决方案如下:
Request::initial()->referrer()