Symfony 3.4:“无法加载类型...:类不存在”

时间:2018-08-17 12:15:21

标签: symfony-2.8 symfony-3.4

对不起,我是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 }

我可能丢失了一些东西,但我不知道是什么...

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

好吧,终于我找到了造成此问题的原因:有人做了作曲家更新,我们从Symfony 3.4.13更新到Symfony 3.4.14。一个简单的还原就可以解决问题,现在一切又恢复正常了。

非常感谢您的帮助!

答案 1 :(得分:0)

您必须将此行添加到表单类的顶部:

use Symfony\Component\Form\Extension\Core\Type\TextType;

还原SF版本不是解决方案,只是回避问题。