Создаем класс для работы с Symfony формами.

Давайте приступим к практике и начнем знакомиться с возможностями фреймворка Symfony для работы с формами.

Symfony - это объектно ориентированный фреймворк и работа с формами не является исключением. Для того, чтобы создать форму, нужно создать некий класс (объект), который будет говорить Symfony что же это за форма: какие поля есть в этой форме, какие свойства эти поля имеют, и.т.д.

Для того, чтобы нам создать форму, нужно создать PHP-класс, который будет описывать эту форму для Symfony, что она собой представляет. 

Как правило, для хранения таких классов, в которых будут находиться форма, создается специальная папка с названием Form в корневой папке src. В этой папке будут храниться классы, описывающие все формы, которые есть в вашем проекте Symfony. 

Давайте создать php-файл TestFormType.php в этой папке со следующим содержимым:

<?php
namespace App\Form;
 
class TestFormType extends AbstractType {
}

Класс формы должен обязательно расширять класс AbstractType, который заимствуется из компонента form Symfony. Также название файла должно оканчиваться на Type.

Жмем Cmd + N или Ctrl + N на клавиатуре и выбираем Override Methods и выбираем метод buildForm. Это специальный метод, с помощью которого мы в следующих видео будем описывать, что собой представляет эта форма. buildForm говорит о том, какие поля должны быть в этой форме.

<?php
namespace App\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class TestFormType extends AbstractType {
    public function buildForm( FormBuilderInterface $builder, array $options ) {
        parent::buildForm( $builder, $options ); 
    }
}

Пока просто создайте такой класс, с которым мы будем в дальнейшем работать и попытаемся создать свою первую тестовую форму на Symfony.

Комментарии: