【问题标题】:Symfony 3.4 : "Could not load type ... : class does not exist"Symfony 3.4:“无法加载类型......:类不存在”
【发布时间】:2018-08-17 12:15:20
【问题描述】:

抱歉,我是 Symfony 的初学者,我试图找到答案,但没有任何效果。我正在使用几个月前从 Symfony 2.8 更新的 Symfony3.4。

现在,我正在尝试做一件相当简单的事情:在控制器中使用 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';
    }

}

这是我的控制器操作,再一次,一个基本的东西(我什至没有在里面写任何代码,因为这个奇怪的错误):

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 }

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

提前感谢您的帮助!

【问题讨论】:

  • 请在您的控制器中显示您的“使用”声明。
  • 糟糕,抱歉,我应该在之前发布过:使用 Cha\GeneralBundle\Form\StripePaymentType;
  • 我看不出有什么问题。我会要求您发布表单类的路径,但如果文件路径与类名不匹配,Symfony 会抛出错误。
  • 如果我使用 $form = $this->createForm('Cha\GeneralBundle\Form\StripePaymentType'); 确实会抛出相同的错误.
  • 尝试更改表单的类名。 Symfony 应该抛出一个错误,指出类和文件名不匹配。如果不是这样,这可能意味着 Symfony 根本没有解析文件。

标签: symfony-2.8 symfony-3.4


【解决方案1】:

您必须在表单类的顶部添加这一行:

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

恢复SF版本不是解决办法,只是躲避问题。

【讨论】:

    【解决方案2】:

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

    非常感谢您的帮助!

    【讨论】:

      猜你喜欢
      • 2020-05-21
      • 2018-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多