本文整理匯總了PHP中Symfony\Component\HttpFoundation\RedirectResponse::getTargetUrl方法的典型用法代碼示例。如果您正苦於以下問題:PHP RedirectResponse::getTargetUrl方法的具體用法?PHP RedirectResponse::getTargetUrl怎麽用?PHP RedirectResponse::getTargetUrl使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Symfony\Component\HttpFoundation\RedirectResponse
的用法示例。
在下文中一共展示了RedirectResponse::getTargetUrl方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: createFromRedirectResponse
/**
* Copies an existing redirect response into a safe one.
*
* The safe one cannot accidentally redirect to an external URL, unless
* actively wanted (see TrustedRedirectResponse).
*
* @param \Symfony\Component\HttpFoundation\RedirectResponse $response
* The original redirect.
*
* @return static
*/
public static function createFromRedirectResponse(RedirectResponse $response)
{
$safe_response = new static($response->getTargetUrl(), $response->getStatusCode(), $response->headers->allPreserveCase());
$safe_response->setProtocolVersion($response->getProtocolVersion());
$safe_response->setCharset($response->getCharset());
return $safe_response;
}
示例2: canBeRedirected
protected function canBeRedirected(Request $request, RedirectResponse $response)
{
$targetRequest = Request::create($response->getTargetUrl());
$stripUrl = function ($path) {
return preg_replace('/#.+$/', '', $path);
};
$targetPath = $stripUrl($targetRequest->getBaseUrl() . $targetRequest->getPathInfo());
$currentPath = $stripUrl($request->getBaseUrl() . $request->getPathInfo());
return $targetPath !== $currentPath;
}
示例3: registerAction
/**
* @Route("/", name="fos_user_registration_register")
*/
public function registerAction(Request $request)
{
/** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */
$userManager = $this->container->get('fos_user.user_manager');
/** @var $dispatcher \Symfony\Component\EventDispatcher\EventDispatcherInterface */
$dispatcher = $this->container->get('event_dispatcher');
$user = $userManager->createUser();
$user->setEnabled(true);
$event = new GetResponseUserEvent($user, $request);
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_INITIALIZE, $event);
if (null !== $event->getResponse()) {
return $event->getResponse();
}
$admin = $this->container->get('sf.admin.loader')->getAdminByClass($user);
$form = $this->createFrom($user, $admin);
$event = new \Symforce\AdminBundle\Event\FormEvent($form, $request);
$dispatcher->dispatch('sf.event.form', $event);
if (null !== $event->getResponse()) {
return $event->getResponse();
}
if ('POST' === $request->getMethod()) {
$form->bind($request);
if ($form->isValid()) {
$event = new FormEvent($form, $request);
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);
$userManager->updateUser($user);
if (null === ($response = $event->getResponse())) {
$url = $this->container->get('router')->generate('fos_user_registration_confirmed');
$response = new RedirectResponse($url);
} else {
if ($this->container->getParameter('kernel.debug')) {
if ($response instanceof RedirectResponse) {
if ($response->getTargetUrl() === $this->container->get('router')->generate('fos_user_registration_check_email')) {
return $this->checkEmailAction();
}
}
}
}
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED, new FilterUserResponseEvent($user, $request, $response));
return $response;
}
}
return $this->container->get('templating')->renderResponse('SymforceUserBundle:Registration:register.html.twig', array('form' => $form->createView(), 'admin' => $admin));
}
示例4: handleLoginRetreat
/**
* When redirecting to login page set the 'retreat' variable in the session.
* This allows a redirect back to the current page after successful login.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @param \Symfony\Component\HttpFoundation\RedirectResponse $response
*/
protected function handleLoginRetreat(Request $request, RedirectResponse $response)
{
$route = $request->attributes->get('_route');
if ($response->getTargetUrl() === $this->urlGenerator->generate('login') && $route !== 'logout') {
$this->session->set('retreat', ['route' => $route, 'params' => $request->attributes->get('_route_params')]);
} else {
$this->session->remove('retreat');
}
}
示例5: testSetTargetUrl
public function testSetTargetUrl()
{
$response = new RedirectResponse('foo.bar');
$response->setTargetUrl('baz.beep');
$this->assertEquals('baz.beep', $response->getTargetUrl());
}