【问题标题】:Symfony Custom type deprecation noticeSymfony 自定义类型弃用通知
【发布时间】:2016-07-21 11:08:05
【问题描述】:

我们目前正在将 symfony 2.7 项目更新到 3.*,并且我们即将在 2.8 版本中清除弃用。

所以我不断收到弃用通知

Passing type instances to FormBuilder::add(), Form::add() or the FormFactory is deprecated since version 2.8 and will not be supported in 3.0. Use the fully-qualified type class name instead (******\AutoBundle\Form\Type\ChoiceNVType)

ChoiceNVType 是我们目前使用的自定义类型,如下所示:

$form->add('model', new ChoiceNVType(), array(
                'choices' => array(),
                'required' => false,
                'placeholder' => 'Something',
                ));

现在我们要修复所有弃用通知,但我不知道如何使用自定义类型来解决。有什么想法吗?

【问题讨论】:

    标签: forms symfony


    【解决方案1】:

    消息清楚地表明您必须使用 FQN 而不是实例:

    $form->add('model', '******\AutoBundle\Form\Type\ChoiceNVType', array(
                    'choices' => array(),
                    'required' => false,
                    'placeholder' => 'Something',
                    ));
    

    【讨论】:

    • 是的,就是这样,最糟糕的是我之前尝试过,它实际上没有用。谢谢! :)
    • 你也可以写ChoiceNVType::class => 使其更具可读性恕我直言
    猜你喜欢
    • 2011-01-18
    • 2013-01-29
    • 1970-01-01
    • 2021-02-20
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多