@jorge Вы можете использовать RedirectResponse класс, например:
1 2 3 4 |
<?php use Symfony\Component\HttpFoundation\RedirectResponse; return new RedirectResponse($url, $status); |
Если Вы делаете редирект в контроллере, то можете использовать redirect() или redirectToRoute() метод, небольшой пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php namespace MyBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; class TestController extends Controller { public function testAction() { return $this->redirectToRoute('route_name'); } public function test2Action() { return $this->redirect('url'); } } |
@jorge
В Symfony есть несколько способов сделать редирект. Вот некоторые из них:
1 2 3 4 |
public function indexAction() { return $this->redirect($this->generateUrl('target_route')); } |
1 2 3 4 5 6 |
# app/config/routing.yml redirect_route: path: /old-path defaults: { _controller: FrameworkBundle:Redirect:redirect, path: /new-path, permanent: true } # В качестве значения параметра path может быть указан либо путь, либо имя роута. |
1 2 3 4 5 6 7 8 |
// В контроллере public function indexAction() { $redirector = $this->get('redirector'); $redirector->redirect('/new-path'); // В качестве аргумента может быть указан либо путь, либо имя роута. } |
1 2 3 4 5 6 7 8 |
// В контроллере public function indexAction() { $client = $this->get('http_client'); $response = $client->request('GET', '/new-path'); return $response; } |
Все эти способы позволяют сделать редирект на другой URL. Какой из них выбрать, зависит от конкретной ситуации.