РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
305 of 1361 menu

Метод getConfig класса Form

Метод getConfig класса Form возвращает объект FormConfigInterface, который хранит все настройки формы: имя, тип данных, опции, атрибуты, ограничения и прочие параметры, переданные при создании формы. Метод не принимает параметров и всегда возвращает объект конфигурации, даже если форма не содержит пользовательских опций.

Синтаксис

public function getConfig(): FormConfigInterface

Пример

Давайте создадим простую форму и получим её конфигурацию через метод getConfig:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Form\Extension\Core\Type\FormType; use Symfony\Component\Form\Extension\Core\Type\TextType; class FormController extends AbstractController { public function index(): Response { $form = $this->createFormBuilder() ->add('title', TextType::class, [ 'label' => 'Article title', ]) ->getForm(); $config = $form->getConfig(); return new Response($config->getName()); } } ?>

Результат выполнения кода:

"form"

Пример

Давайте получим тип данных формы и список опций через методы getType и getOptions объекта конфигурации:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Form\Extension\Core\Type\FormType; use Symfony\Component\Form\Extension\Core\Type\TextType; class FormController extends AbstractController { public function index(): Response { $form = $this->createFormBuilder() ->add('title', TextType::class, [ 'label' => 'Article title', ]) ->getForm(); $config = $form->getConfig(); $type = $config->getType()->getInnerType()::class; $options = $config->getOptions(); return new Response($type . ' | ' . $options['label']); } } ?>

Результат выполнения кода:

"Symfony\Component\Form\Extension\Core\Type\TextType | Article title"

Пример

Давайте проверим, является ли поле обязательным, используя опцию required из конфигурации:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Form\Extension\Core\Type\FormType; use Symfony\Component\Form\Extension\Core\Type\TextType; class FormController extends AbstractController { public function index(): Response { $form = $this->createFormBuilder() ->add('title', TextType::class, [ 'required' => false, ]) ->getForm(); $config = $form->getConfig(); $required = $config->getOptions()['required']; return new Response($required ? 'required' : 'not required'); } } ?>

Результат выполнения кода:

"not required"

Смотрите также

  • класс Form,
    который представляет форму в Symfony
  • метод getName,
    который возвращает имя формы
  • метод getData,
    который возвращает данные формы
  • метод createView,
    который создаёт представление формы для шаблона
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить