【问题标题】:'Is the "data_class" form option set correctly?' Yes. Yes, it is\'是否正确设置了 \"data_class\" 表单选项?\' 是的。是的
【发布时间】:2023-01-08 13:18:18
【问题描述】:

我正在尝试使用带有 Symfony 表单的数据传输对象。我使用的表单类型如下所示:

class SuggestedEventPricingFormType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options): void
    {
        $localCurrency = $builder->getData()->getCurrencyCode();
        $builder
            ->add('pricingScheme', TextType::class, ['required' => true])
            ->add(
                'eventPricing',
                EventPricingFormType::class,
                ['error_bubbling' => false, 'local_currency' => $localCurrency]
            )
        ;
    }

    public function configureOptions(OptionsResolver $resolver): void
    {
        $resolver->setDefaults(['data_class' => SuggestedEventPricing::class]);
    }
}

...当我在 PHPStorm 中命令单击 SuggestedEventPricing 时,我被正确地带到了类定义,所以我知道我的表单类型中的 use 语句是正确的。

但是在尝试加载表单时我仍然收到此消息:

找不到类“AppBundle\Value\SuggestedEventPricing”。是个 “data_class”表单选项设置正确吗?

我可以采取后续步骤进行调试的任何想法?

【问题讨论】:

  • 你清除缓存了吗?
  • 是的。很好的建议,但这并没有奏效。
  • 你运行的是什么 Symfony 版本?

标签: php symfony symfony-forms data-transfer-objects


【解决方案1】:

好吧,今天我学到了一些东西:PHPStorm 会很乐意将您发送到一个在其顶部声明了错误命名空间的文件。

更改我想使用的类文件顶部的名称空间(连同表单类型顶部 use 语句中的引用)快速解决了这个问题。我希望这可以帮助别人。 (你好,未来的 Googler!)

【讨论】:

    猜你喜欢
    • 2016-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多