Как правильно отобразить регистрационную форму в symfony 2.6?

Я новичок в Symfony 2 Framework и безуспешно пытаюсь создать регистрационную форму для добавления пользователей в мою базу данных.

Я следил за этим руководство и все, кажется, работает нормально, за исключением того, что моя форма не будет отображаться.

Это мой класс UserType.php:

class UserType extends  AbstractType{public function buildForm(FormBuilderInterface $builder, array $options)
{
echo "builder";
$builder->add('user', 'user_form');
$builder->add('password', 'repeated', array(
'first_name'  => 'password',
'second_name' => 'confirm',
'type'        => 'password',
));

}

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'XXX\Entity\User'
));
}

RegistrationType.php:

class RegistrationType extends  AbstractType{public function buildForm(FormBuilderInterface $builder, array $options)
{
echo "1";
$userType=new UserType();
$builder->add('user', $userType);
echo "2";
$builder->add('Aggiungi', 'submit');
echo "3";
}

/**
* Returns the name of this type.
*
* @return string The name of this type
*/
public function getName()
{
return 'register_form';
}

}

И мой AccountControllorer.php:

    class AccountController extends Controller
{
public function registerAction()
{
$registration = new Registration();
$form = $this->createForm(new RegistrationType(), $registration, array(
'action' => $this->generateUrl('account_create'),
));

return $this->render(
'xxx:Account:register.html.twig',
array('form' => $form->createView())
);
}

public function createAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
echo "controller 1 ok";
$rt=new RegistrationType();
$r=new Registration();
$form = $this->createForm($rt, $r);
echo "controller 2 ok";
$form->handleRequest($request);
echo "all ok";
if ($form->isValid()) {
$registration = $form->getData();

$em->persist($registration->getUser());
$em->flush();
echo "yess";
}

return $this->render(
'xxx:Account:register.html.twig',
array('form' => $form->createView())
);
}
}

После некоторого эха в коде я обнаружил, что контроллер останавливается после «контроллер 1 нормально» (то есть форма не создана), поэтому я повторил более подробно, и я обнаружил, что метод buildForm в UserType входит в цикл повторяет «строитель» бесконечное количество раз, выдавая 500 внутренних ошибок в браузере.

Так в чем же проблема? Я застрял здесь весь день. Если вы хотите больше кода, просто спросите!

Заранее спасибо,
Рапс

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]