Я следовал этому руководству, чтобы создать регистрационную форму с Symfony 2.5. .
Единственное отличие, которое я сделал, это дополнительное поле для имени пользователя в моем классе User
и отображение его в форме UserType
.
При отправке формы на account_create
-маршрут (который в конечном итоге использует действие create
в контроллере учетной записи) он не будет правильно обрабатывать форму. Страница отображается пустой, даже профилировщик больше не появляется.
Кроме того, кажется, что скрипт ломает мой Apache (я запускаю его локально в Windows через XAMPP), так как все, что я пытаюсь сделать после отправки формы, приводит к бесконечной загрузке. Это означает, что независимо от того, к какой странице на моем сервере я пытаюсь получить доступ (даже если это просто профилировщик), я не могу. Он просто продолжает загружаться вечно (однажды я ждал более 10 минут). Тогда помог только перезапуск Apache.
Это мой createAction внутри контроллера учетной записи
// 'account_create' route
// TestBundle:Account:create
public function createAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
echo "Doctrine managed. ";
$form = $this->createForm(new RegistrationType(), new Registration());
echo "Form created. ";
$form->handleRequest($request);
echo "Request handled. ";
if ($form->isValid()) {
$registration = $form->getData();
echo "Form data received. ";
$em->persist($registration->getUser());
echo "User persisted. ";
$em->flush();
echo "Toilet flushed. ";
return $this->redirect($this->generateUrl('admin_page'));
}
return $this->render(
'TestBundle:Account:register.html.twig',
array('form' => $form->createView())
);
}
Он выводит только Doctrine managed. Form created.
, поэтому, по-видимому, происходит сбой при вызове метода handleRequest($request)
.
Что это такое ужасно неправильно?
Сообщите мне, если вам нужен код каких-либо других скриптов!