【问题标题】:Symfony: Could not load type "EWZ\Bundle\RecaptchaBundle\Form\Type\RecaptchaType"Symfony:无法加载类型“EWZ\Bundle\RecaptchaBundle\Form\Type\RecaptchaType”
【发布时间】:2016-04-21 07:38:35
【问题描述】:

我通过 composer 安装了 bundle excelwebzone/recaptcha-bundle 在 Symfony 2.7.8 上,添加到包中:

new EWZ\Bundle\RecaptchaBundle\EWZRecaptchaBundle()

在我的自定义控制器中将 reCAPTCHA 添加到表单构建器并出现错误:

无法加载类型"EWZ\Bundle\RecaptchaBundle\Form\Type\RecaptchaType"vendor/symfony/symfony/src/Symfony/Component/Form/FormRegistry.php 第 83 行

我做错了什么?

【问题讨论】:

    标签: php symfony formbuilder ezplatform


    【解决方案1】:

    我在this tutorial找到了解决方案:

    在 Symfony 2.7 中我必须写:

    $builder->add('recaptcha', 'ewz_recaptcha');
    

    代替:

    $builder->add('recaptcha', 'EWZ\Bundle\RecaptchaBundle\Form\Type\RecaptchaType');
    

    最初的解决方案可能适用于 Symfony >=2.8。

    【讨论】:

      【解决方案2】:

      查看https://github.com/excelwebzone/EWZRecaptchaBundle/blob/master/Form/Type/EWZRecaptchaType.php,类名是EWZRecaptchaType(不仅仅是RecaptchaType没有前导EWZ)。

      【讨论】:

      • 类名正确,我的 EWZRecaptchaBundle 是 1.4 版(作曲家存储库中的最后一个稳定版本)。命名空间 EWZ\Bundle\RecaptchaBundle\Form\Type;类 RecaptchaType 扩展 AbstractType {
      • 您能否显示您安装了哪个版本的捆绑包(运行composer show -i excelwebzone/recaptcha-bundle 以获取版本)?
      • 名称:excelwebzone/recaptcha-bundle 描述。 :这个包提供了简单的 reCAPTCHA 表单字段集成关键字:recaptcha 版本:* v1.4.1 类型:symfony-bundle
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-16
      • 1970-01-01
      • 2020-10-03
      • 1970-01-01
      相关资源
      最近更新 更多