对不起,我是Symfony的初学者,我试图找到答案,但没有任何效果。我正在使用几个月前从Symfony 2.8更新的Symfony3.4。
现在,我正在尝试做一个相当简单的事情:在Controller中使用formType,但是无论如何,Symfony始终显示以下错误:无法加载类型“ Cha \ GeneralBundle \ Form \ StripePaymentType “:类不存在。
这是我的StripePaymentType-真的,非常基础:
namespace Cha\GeneralBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
class StripePaymentType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('name', TextType::class);
}
public function getBlockPrefix()
{
return 'cha_stripe_payment_form';
}
}
这又是我的Controller动作,这是一件基本的事情(由于这个奇怪的错误,我什至没有在其中编写任何代码):
public function upgradeOfferPaymentAction(Offers $offers)
{
$form = $this->createForm(StripePaymentType::class);
return $this->render(
'@ChaGeneral/Offers/offer_payment.html.twig', array(
'form' => $form->createView()
));
}
我试图将表单用作服务,但它也不起作用:
cha.stripe.payment.form:
class: Cha\GeneralBundle\Form\StripePaymentType
tags:
- { name: cha_stripe_payment_form }
我可能丢失了一些东西,但我不知道是什么...
提前感谢您的帮助!
答案 0 :(得分:0)
好吧,终于我找到了造成此问题的原因:有人做了作曲家更新,我们从Symfony 3.4.13更新到Symfony 3.4.14。一个简单的还原就可以解决问题,现在一切又恢复正常了。
非常感谢您的帮助!
答案 1 :(得分:0)
您必须将此行添加到表单类的顶部:
use Symfony\Component\Form\Extension\Core\Type\TextType;
还原SF版本不是解决方案,只是回避问题。