0

こんにちは、私は symfony2 を初めて使用します。ドキュメントを読んでいる間、方法がわかりませんでした。

public function buildForm(FormBuilderInterface $builder, array $options)コントローラーでヘルパー createForm() を使用して、TaskType クラス (例) 内から呼び出されます。

FormFactory.php ファイルを調べたところ、関数 getName() がどのように呼び出されているかを確認できましたが、buildForm() はどこにもありませんでした。

フォームをコーディングすることはそれほど重要ではないことはわかっていますが、自分が何をしているのか、その理由をよりよく理解するために知りたいと思っています。

ありがとう、ばかげた

4

1 に答える 1

1

Symfony2.0 で

280行目あたり\Symfony\Component\Form\FormFactoryに次の行があります。

$type->buildForm($builder, $options);

少し低いのは次のとおりです。

$typeExtension->buildForm($builder, $options);

Symfony2.1 で

\Symfony\Component\Form\ResolvedFormType関数 createBuilderの 124 行目あたり:

$this->buildForm($builder, $options);

およびこのファイル内の他の多くの場所。

これは\Symfony\Component\Form\FormFactory関数 addType の 165 行目で使用されます。

$this->registry->addType($this->resolvedTypeFactory->createResolvedType(
        $type,
        array(),
        $parentType ? $this->registry->getType($parentType) : null
    ));
于 2013-01-11T12:31:15.007 に答える