无法加载类型Symfony2

时间:2015-12-01 15:04:09

标签: php symfony symfony-forms

好吧,这可能很简单,但我无法找到问题所在。 我已经尝试但没有匹配我的问题

我试图从表单类创建,而不是在控制器中创建表单..

这是代码..

这是来自控制器

    /**
 * @Route("login", name="login")
 */
public function loginAction (Request $request) {
    $registration = new Registration();

    $form = $this->createForm(LoginForm::class, $registration, array(
        'method' => 'POST'
    ));

    return $this->render(
        'admin/login.html.twig',
        array('form' => $form->createView())
    );
}

内部控制器我使用USE来定义LoginForm,我在部分createForm中使用,所以这不是问题

这是来自FORM class

<?php

namespace AppBundle\AppForm;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;

class LoginForm extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('name')
        ->add('password')
        ->add('save', SubmitType::class);
}
public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(
        array(
          'data_class' => 'AppBundle\Entity\Registration'
        ));
}

public function getName()
{

}
}

1 个答案:

答案 0 :(得分:6)

您在Symfony版本中遇到的问题。您使用Symfony3中的代码,而实际上有Symfony2。

SubmitType::class更改为submit,将LoginForm::class更改为new LoginForm(),一切正常。

或者您可以更新您的Symfony版本,所有版本都可以使用您当前的代码。