您好我是symfony2的新手,当我阅读文档时,我无法弄清楚如何
使用控制器中的帮助器createForm()从TaskType类(在示例中)中调用 public function buildForm(FormBuilderInterface $builder, array $options)
。
我查看了FormFactory.php文件,我可以看到函数getName()是如何调用的,但是没有buildForm()。
我知道为了编写表单并不重要,但我想知道这样才能更好地掌握我在做什么以及为什么。
谢谢, idipous
答案 0 :(得分:1)
在\Symfony\Component\Form\FormFactory
的第280行附近有一行:
$type->buildForm($builder, $options);
稍微低一点:
$typeExtension->buildForm($builder, $options);
功能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
));