Symfony2:在单独的文件中创建没有实体的表单

时间:2016-03-16 09:15:08

标签: php symfony symfony-forms

我想在seaparte文件中创建一个新表单(不在控制器内)。

这是使用实体创建表单的示例:

<?php
// src/OC/PlatformBundle/Form/AdvertType.php

namespace OC\PlatformBundle\Form;

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

class AdvertType extends AbstractType
{
  public function buildForm(FormBuilderInterface $builder, array $options)
  {
    $builder
      ->add('date',      'date')
      ->add('title',     'text')
      ->add('author',    'text')
      ->add('content',   'textarea')
      ->add('published', 'checkbox', array('required' => false))
      ->add('save',      'submit')
    ;
  }

  public function setDefaultOptions(OptionsResolverInterface $resolver)
  {
    $resolver->setDefaults(array(
      'data_class' => 'OC\PlatformBundle\Entity\Advert'
    ));
  }

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

我现在想修改它并创建一个没有实体类的新表单。

那么,我该怎么办?

1 个答案:

答案 0 :(得分:0)

删除setDefaultOptions()方法中的data_class赋值,并使用不带实体的此表单。