Почему Symfony3 forwarding уходит в цикл?

244
10 декабря 2016, 10:04
/**
 * @Route("/", name="index")
 * @Route("/s/{query}", name="search")
 */
public function indexAction(Request $request, $query = null, $sid = null, $key = null)
{
    if ($sid && $key) {
        $captcha = [
            'captcha_sid' => $sid,
            'captcha_key' => $key
        ];
    }
    $form = $this->createFormBuilder()
        ->add('search', TextType::class)
        ->getForm();
    $form->handleRequest($request);
    $VKAPI = $this->get('vk_music');
    dump($request);
    if (isset($query)) {
        //$form->get('search')->setData($query);
        if ($sid && $key) {
            $tracks = $VKAPI->search($query, $captcha);
        } else {
            $tracks = $VKAPI->search($query);
        }
    } else {
        if ($sid && $key) {
            $tracks = $VKAPI->getPopular($captcha);
        } else {
            $tracks = $VKAPI->getPopular();
        }
    }
    dump($tracks);
    if (isset($tracks['error'])) {
        $errorInfo = $tracks['error'];
        $params = [
            'sid' => $errorInfo['captcha']['sid'],
            'img' => $errorInfo['captcha']['img']
        ];
        if (isset($query)) {
            $params['query'] = $query;
        }
        return $this->forward('MusicBundle:Default:captcha', $params);
    } else {
        return $this->render('MusicBundle:Default:index.html.twig', [
            'form' => $form->createView(),
            'tracks' => $tracks
        ]);
    }
}
/**
 * @Route("/captcha")
 */
public function captchaAction(Request $request, $sid, $img, $query = null)
{
    $form = $this->createFormBuilder()
        ->add('key', TextType::class)
        ->add('sid', HiddenType::class, ['data' => $sid])
        ->getForm();
    $form->handleRequest($request);
    if ($form->isSubmitted() && $form->isValid()) {
        $data = $form->getData();
        $params = [
            'sid' => $data['sid'],
            'key' => $data['key']
        ];
        if (isset($query)) {
            $params['query'] = $query;
        }
        return $this->forward('MusicBundle:Default:index', $params);
    } else {
        return $this->render('MusicBundle:Default:captcha.html.twig', [
            'form' => $form->createView(),
            'captcha_img' => $img
        ]);
    }
}

Открываю site/app_dev.php/s/text, выводит капчу. Пишу ее, сабмичу, и страница бесконечно загружается. Я так понимаю что все уходит в цикл. А на самом деле я ничего не понимаю. Если кому-то предоставить нужно куски сервиса - напишите. Но тут вроде все понятно как работает.

READ ALSO
preg_replace проблемы

preg_replace проблемы

Как изменить ответ http://drupalstackexchange

289
Непонятное поведение страницы

Непонятное поведение страницы

Добрый деньЕсть страница, при переходе на которую проблем не возникает

282
Как делать редирект при клике по adsense?

Как делать редирект при клике по adsense?

На сайте кто-то делает большое кол-во кликов по adsense специально, из-за этого уже получил бан на 30 дней

301