У меня есть два маршрута/альфа и/бета, настроенные в yml. В alphaAction в flashbag помещается уведомление и происходит перенаправление. В betaAction читается уведомление в flashbag.Почему контроллер дважды выполняется (flashbag, redirectoroute)?
Иногда я получаю 2 уведомления при попытке/alpha в браузере, и иногда я получаю одно уведомление.
Может кто-нибудь объяснить, что происходит, что я делаю неправильно.
public function alphaAction()
{
$this->get('session')->getFlashBag()->add("notice",mt_rand());
return $this->redirectToRoute("beta");
}
public function betaAction()
{
$notices= $this->get('session')->getFlashBag()->get('notice');
return new Response(implode($notices,", "));
}
'$ this-> получить ('сессии') -> getFlashBag() -> Add ("уведомление", mt_rand());' в Symfony 2.6 и выше, может быть сделано как '$ this-> addFlash ('notice', mt_rand()); 'Вы уверены, что раз, когда вы получаете его дважды, это происходит не потому, что произошла ошибка, и вы только что обновили браузер? – Rooneyl
Я пробовал сокращенную нотацию (addFlash) и все равно получаю аналогичные результаты. Я не обновляюсь в браузере, я просто перепечатываю http: // localhost: 8000/alpha и нажимаю клавишу Enter. Результат в/beta составляет от 1 до 3 (разных) случайных чисел. –
Вы когда-нибудь видели повторяющиеся числа на 'betaAction()'? – Ryan