Symfony2 Как называется функция formBuilder?

Привет, я новичок в symfony2, и пока я читал документацию, я не мог понять, как

public function buildForm(FormBuilderInterface $builder, array $options) вызывается из класса TaskType (в примере) с помощью вспомогательной функции createForm() в контроллере.

Я заглянул в файл FormFactory.php и увидел, как вызывается функция getName(), но нигде не видел buildForm().

Я знаю, что это не очень важно для кодирования формы, но я хотел бы знать, чтобы лучше понять, что я делаю и почему.

Спасибо, идиот


person idipous    schedule 11.01.2013    source источник


Ответы (1)


В Symfony2.0

Вокруг строки 280 в \Symfony\Component\Form\FormFactory есть строка:

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

и чуть ниже:

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

В Symfony2.1

Вокруг строки 124 \Symfony\Component\Form\ResolvedFormType в функции createBuilder:

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

и ряд других мест в этом файле.

Это используется в \Symfony\Component\Form\FormFactory в строке 165 в функции addType:

$this->registry->addType($this->resolvedTypeFactory->createResolvedType(
        $type,
        array(),
        $parentType ? $this->registry->getType($parentType) : null
    ));
person Luke    schedule 11.01.2013
comment
Спасибо Люк. Интересно, как я пропустил это. Ну теперь понятно. - person idipous; 11.01.2013