无法加载类型 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 版本,所有这些都将适用于您当前的代码。
好的,这可能很简单,但我就是找不到问题出在哪里。 我已经尝试过但无法解决我的问题
我正在尝试从表单 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 版本,所有这些都将适用于您当前的代码。