无法从zend Framework 2中的url获取路由名称 [英] unable to get route name from url in zend framework 2
本文介绍了无法从zend Framework 2中的url获取路由名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用Zend Framework 2,这是我的代码:
I'm using Zend Framework 2, this is my code:
$prevsingletrackurl = $this->getRequest()->getHeader('Referer')->getUri();
从控制器方法中定义的这段代码中,我得到了以前的URL,现在我需要要从中了解一些信息,它包含我自己需要的路由,控制器,方法。
From this code which is defined in a controller's method I'm getting previous URL, now what I need to know some information of this from this, it contains which route, controller, method for my own requirement.
推荐答案
此代码i在控制器操作方法中使用过
This code i have used inside a controller action method
$ request = $ this-> getRequest();
$ getHeaderReferer = $ request-> getHeader('Referer');
$request = $this->getRequest(); $getHeaderReferer=$request->getHeader('Referer');
if (!empty($getHeaderReferer))
{
$prevsingletrackurl = $getHeaderReferer->getUri(); // get previous url
//echo "<br>previous usrl=>".$prevsingletrackurl;
$controller = $this->getEvent()->getRouteMatch()->getParam('controller'); // get controller name
//**** code to get previous url route , controller name , action/method name starts
$request->setUri($prevsingletrackurl);
$router =$this->getServiceLocator()->get('Router');// this gives instance of /Zend/Mv/Router/Http/TreeRouteStack
//echo "<br>router=>".$router->toString();
$routeMatch = $router->match($request); // this gives instance of /Zend/Mv/Router/Http/RouteMatch
$routename="";
if( $routeMatch instanceof RouteMatch )
{
$urlwholeroutedataAr=$routeMatch->getParams();
if(!empty($urlwholeroutedataAr))
{
$controllerdata=$urlwholeroutedataAr['controller'];
$actionmethod=$urlwholeroutedataAr['action'];
if(array_key_exists('trackdata',$urlwholeroutedataAr))
{
$trackdata=$urlwholeroutedataAr['trackdata'];
}
$controllerdataAr=explode("\\",$controllerdata);
if(count($controllerdataAr)>0)
{
$controllername=end($controllerdataAr);
}
}
$routename=$routeMatch->getMatchedRouteName();
}
}
这篇关于无法从zend Framework 2中的url获取路由名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文