zf2에서 로그인 한 후 리디렉션해야합니다. 예를 들어 URL이 /user/login?redirect=http%3A%2F%site.loc%2Fcategory% 인 로그인 페이지로 이동하십시오. @cptnk가 을 말한대로 어쩌면 일부URL에서 zf2 경로를 얻는 방법
$router->getRouteFromUri($uri);
zf2에서 로그인 한 후 리디렉션해야합니다. 예를 들어 URL이 /user/login?redirect=http%3A%2F%site.loc%2Fcategory% 인 로그인 페이지로 이동하십시오. @cptnk가 을 말한대로 어쩌면 일부URL에서 zf2 경로를 얻는 방법
$router->getRouteFromUri($uri);
그래서 가장 좋은 방법은 PARAMS
과 경로를 반환 $request = new Request();
$request->setMethod(Request::METHOD_GET);
$request->setUri($uri);
$this->router->match($request);
입니다 테스트 와 나는 URL을 에서 경로를 얻을 필요
요청 인스턴스는 요청 매개 변수를 리턴하는 데 사용될 수 있습니다. 이것은 다음 중 하나를 사용하여 컨트롤러 내에서 가져올 수 있습니다.
$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);
당신이 URL을 생성 해야하는 경우에는 URL 플러그인 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
@cptnk 예 도움이 될 것입니다. –