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

Symfony2 :Create form without entity within separate file

我想在 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';
  }
}

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

那么,我能做什么?

删除 setDefaultOptions() 方法中的 data_class 赋值,并使用这种没有实体的形式。