【问题标题】:Difference between configureOptions and setDefaultOptions ina form in Symfony 2Symfony 2 表单中 configureOptions 和 setDefaultOptions 的区别
【发布时间】:2015-08-20 22:57:46
【问题描述】:

我最近遇到了一个我解决的问题。为了解决这个问题,我以我的一种形式结束了使用 setDefaultOptions 的 configureOptions 。问题是它让我问,这两个函数有什么区别?

这是它们在我的表单中的样子:

<?php

namespace AdminBundle\Form\Type;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
//use Symfony\Component\OptionsResolver\OptionsResolver;

Class ProjetIntType extends AbstractType
{

    public function buildForm(FormBuilderInterface $constructeur, array $options)
    {
        $constructeur
        ->add('langue', 'text')
        ->add('nom', 'text')
        ->add('descriptionCours', 'text')
        ->add('descriptionComplete', 'text')
        ->add('roles', 'text')
        ->add('aptitudesDeveloppees', 'text');
    }

    /*public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'PublicBundle\Entity\ProjetInt',
        ));
    }*/

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

    public function getName()
    {

        return 'projetInt';

    }

}

【问题讨论】:

    标签: php forms symfony


    【解决方案1】:

    setDefaultOptions() 已被弃用,取而代之的是 configureOptions()。见UPGRADE-3.0.mdconfigureOptions() 是在 Symfony 2.7 中引入的,在 3.0 中需要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-18
      • 2012-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多