我需要解析上一页的URL才能知道我来自哪个页面。我得到它:
$this->referer('/', true);
我正在尝试使用它来获取信息:
Router::parse($this->referer('/', true));
但是方法Router::parse
已被弃用,并将在下一个版本的cake PHP中删除。
然后,我尝试使用:
Router::parseRequest($this->referer('/', true));
但是我收到此错误:
参数 1 传递给 Cake\Routing\Router::p arseRequest() 必须 实现接口 Psr\Http\Message\ServerRequestInterface, string 鉴于
我搜索了很长时间的解决方案,但我没有找到任何可靠的解决方案。也许我错过了什么,有人有想法吗?
提前谢谢你!
- 您可以使用请求对象:
$controller = $this->request->getParam('controller');
$action = $this->request->getParam('action');
- 如果您不能使用它,那么您可以按照@ndm的建议进行操作:
$referer = new CakeHttpServerRequest(['url' => $this->referer()]);
$controller = $this->request->getParam('controller');
$action = $this->request->getParam('action');
- 您可以按照此处的建议使用 getRouteCollection:
Router::getRouteCollection()->parse($this->referer());