我需要在zf2登錄後進行重定向 例如來登錄頁面的url /user/login?redirect=http%3A%2F%site.loc%2Fcategory%測試 ,我需要從URL 獲取路線也許有些如何從zf2中的url獲取路由
$router->getRouteFromUri($uri);
我需要在zf2登錄後進行重定向 例如來登錄頁面的url /user/login?redirect=http%3A%2F%site.loc%2Fcategory%測試 ,我需要從URL 獲取路線也許有些如何從zf2中的url獲取路由
$router->getRouteFromUri($uri);
因此,作爲@cptnk說 最好的辦法是
$request = new Request();
$request->setMethod(Request::METHOD_GET);
$request->setUri($uri);
$this->router->match($request);
返回使用參數
路線請求實例可用於返回請求參數。這可以使用以下任何一種方法從控制器中獲取。
$request = $this->getRequest();
$request = $this->getEvent()->getRequest();
$request = $this->getServiceLocator()->get('request');
然而,已經有可用於路由或任何其他請求參數Zend\Mvc\Controller\Plugin\Params
,如果您需要從控制器訪問它。
$redirect = $this->params('redirect', false);
// or
$redirect = $this->params()->fromQuery('redirect', false);
如果您需要產生的網址,您可以使用網址插件Zend\Mvc\Controller\Plugin\Url
。
$this->url()->fromRoute(
$nameOfRoute, // use null for last matched route
$arrayOfRouteParams,
$booleanShouldReuseMatchedParams,
array(
'query' => array('redirect' => $redirctUrl)
)
);
上述內容僅僅是一個便捷的類,用於直接手動將URL與路由器進行組合。
請求類怎麼樣? http://framework.zend.com/manual/2.0/en/modules/zend.http.request.html – cptnk 2014-10-30 08:44:17
@cptnk是的,謝謝它可能有幫助! – 2014-10-30 08:48:34