我一直在遵循本教程使用Symfony 2.5创建注册表单。
我所做的唯一区别是,在我的User
类中为用户名添加了一个额外的字段,并将其呈现在UserType
表单中。
将表单提交给account_create
路由(最终在Account控制器中使用create
动作)时,它不会正确处理表单。页面显示为空白,甚至剖析器也不再显示。
此外,似乎脚本破坏了我的Apache(我通过XAMPP在Windows上本地运行),因为我在提交表单后尝试做的一切都会导致无休止的加载。这意味着,无论我接下来试图访问服务器上的哪个页面(即使它只是分析器),我都不能。它只是一直在加载(我曾经等了超过10分钟)。只有重新启动Apache才有帮助。
这是我在Account控制器中的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)
方法时崩溃了。
这是什么,这是如此可怕的错误?
告诉我,如果你需要任何其他脚本的代码!
我知道这不是的答案,但无论如何它不适合作为注释和调试这个
的重要步骤。将句柄请求放在try块中并回显异常
try {
$form->handleRequest($request);
} catch (Exception $e) {
echo "failed : ".$e->getMessage();
}
抛出了什么异常?