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

Метод getRoot

Метод getRoot класса Form возвращает корневую форму составной формы. Если форма является вложенной, метод поднимается по цепочке родителей до самой верхней формы и возвращает её. Если форма уже является корневой, метод возвращает её саму. Метод не принимает параметров.

Синтаксис

$root = $form->getRoot();

Пример

Давайте создадим форму с вложенной формой и получим корень через метод getRoot:

<?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 { $factory = $this->container->get('form.factory'); $builder = $factory->createBuilder(FormType::class); $builder->add('name', TextType::class); $builder->add('inner', FormType::class, [ 'data_class' => null, ]); $form = $builder->getForm(); $inner = $form->get('inner'); $root = $inner->getRoot(); return new Response($root->getName()); } } ?>

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

"form"

Пример

Давайте проверим, что для корневой формы метод возвращает саму форму:

<?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 { $factory = $this->container->get('form.factory'); $builder = $factory->createBuilder(FormType::class); $builder->add('name', TextType::class); $form = $builder->getForm(); $root = $form->getRoot(); $res = $root === $form ? 'same' : 'different'; return new Response($res); } } ?>

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

"same"

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

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