建立自定義表單型別
自定義表單型別是定義可重用表單元件的類。可以巢狀自定義表單元件以建立複雜的表單。
你可以使用自己的型別來使程式碼更具可讀性,可重用性和可維護性,而不是使用表單生成器在控制器中建立表單。
建立一個表示表單型別的類
// src/AppBundle/Form/ExampleType.php
namespace AppBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\NumberType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
class ExampleType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('value', TextType::class, array('required' => false))
->add('number', NumberType::class)
->add('string', TextType::class)
->add('save', SubmitType::class)
;
}
}
你現在可以在控制器中使用你的表單:
use AppBundle\Form\ExampleType;
// ...
$form = $this->createForm(ExampleType::class, $data)