无法加载类型 Symfony2

Could not load type Symfony2

好的,这可能很简单,但我就是找不到问题出在哪里。 我已经尝试过但无法解决我的问题

我正在尝试从表单 class 创建,而不是在控制器中创建表单..

这是代码..

这是来自控制器

    /**
 * @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 中使用,所以这不是问题

这是来自表格 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()
{

}
}

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

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

或者您可以更新您的 Symfony 版本,所有这些都将适用于您当前的代码。