symfony2.3中的FormView :: getName()支持

时间:2014-12-17 15:58:55

标签: symfony

我被要求将应用程序从2.1升级到2.3(多级升级的一部分),而我遇到了FormView::getName()被称为

的问题

错误

Fatal error: Call to undefined method Symfony\Component\Form\FormView::getName() in ...

调用方法的代码

public function helper( $form )
{
    $tooltip = $this->help_service->getTooltip( $form->getName() )
}

我搜索过[文档],实际上它并不存在,所以它显然已被弃用了。我找不到任何关于替代方案的文档。1

有人可以帮忙吗?

更新

看起来好像很多来自Symfony \ Component \ Form \ FormView,包括在应用程序中使用的getVars()。我搜索了一些支持文件,但没有提出任何建议。

1 个答案:

答案 0 :(得分:0)

我不确定,但也许你的意思是这个:?

如果您使用FormType创建如下表单:

 $form = $this->createForm('company',$company);

并且您的formType实现了一个getName()函数

class CompanyType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('name', 'text')
            ->add('description', 'textarea')
            ->add('adresses','collection', array('type' => 'adress','allow_add' => true, 'by_reference' => false,'allow_delete'=>true) )
            ->add('save', 'submit');
    }


    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'Foo\CoreBundle\Entity\Company',
        ));
    }

    public function getName()
    {
        return 'company';
    }
}

所以这样

 $form->getName()

将返回company