0

分離されたクラスを使用せずに埋め込みフォームを使用することは可能ですか? その理由は、ほとんどの場合、単一のフィールドを含む多くのフォーム クラスを既に持っているため、埋め込みフォームをインラインで定義できるかどうか疑問に思っています。

したがって、通常、次のようなものがあります。

public function buildForm(FormBuilder $builder, array $options)
{
    $builder
        ->add('name')
        ->add('email')
        ->add('phone')
        ->add('key', new KeyType())            
    ;
}

keyドキュメントには、フィールド用のクラスを作成する必要があると書かれています。KeyTypeたとえば、埋め込みフォーム用のフォーム ビルダーをセットアップする場所です。KeyTypeしかし、 class を作成する代わりに、同じクラスでフィールドをインラインで定義したいと思います。どうやってやるの?

4

1 に答える 1

1

はい、これは可能です。

public function buildForm(FormBuilder $builder, array $options)
{
    $builder
        ->add('name')
        ->add('email')
        ->add('phone')
        ->add(
            $builder->create('key')
                ->add('someField', 'text')
                ->add('otherField', 'checkbox')
        )       
    ;
}
于 2012-07-25T14:35:33.183 に答える