Symfony 2中的configureOptions和setDefaultOptions之间的区别

Kév*_*uay 4 php forms symfony

我最近遇到了一个我解决的问题.为了解决这个问题,我结束了在我的一个表单中使用了configureOptions的setDefaultOptions.问题是它让我问,这两个功能之间有什么区别?

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

<?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';

    }

}
Run Code Online (Sandbox Code Playgroud)

geo*_*eoB 6

setDefaultOptions()已被弃用赞成configureOptions().请参阅UPGRADE-3.0.md. configureOptions()是在Symfony 2.7中引入的,将在3.0中被要求.