Symfony2如何调用formBuilder函数?

时间:2013-01-11 10:07:16

标签: symfony function-calls

您好我是symfony2的新手,当我阅读文档时,我无法弄清楚如何

使用控制器中的帮助器createForm()从TaskType类(在示例中)中调用

public function buildForm(FormBuilderInterface $builder, array $options)

我查看了FormFactory.php文件,我可以看到函数getName()是如何调用的,但是没有buildForm()。

我知道为了编写表单并不重要,但我想知道这样才能更好地掌握我在做什么以及为什么。

谢谢, idipous

1 个答案:

答案 0 :(得分:1)

在Symfony2.0

\Symfony\Component\Form\FormFactory的第280行附近有一行:

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

稍微低一点:

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

在Symfony2.1

功能createBuilder中的第124行\Symfony\Component\Form\ResolvedFormType

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

以及此档案中的其他一些地方。

这在函数addType:

的第165行的\Symfony\Component\Form\FormFactory中使用
$this->registry->addType($this->resolvedTypeFactory->createResolvedType(
        $type,
        array(),
        $parentType ? $this->registry->getType($parentType) : null
    ));