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

Метод getOption класса FormBuilder

Метод getOption класса FormBuilder возвращает значение опции формы по её имени. Первым параметром передаётся имя опции в виде строки. Если опция не была задана, метод вернёт значение null.

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

Синтаксис

$formBuilder->getOption(string $name): mixed

Пример

Давайте создадим форму с опцией attr и прочитаем её через метод getOption:

<?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; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/form', name: 'article_form')] public function form(): Response { $builder = $this->createFormBuilder(null, [ 'attr' => ['class' => 'abcde'] ]); $res = $builder->getOption('attr'); return new Response(json_encode($res)); } } ?>

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

{"class":"abcde"}

Пример

Давайте создадим форму с опцией method и прочитаем её значение:

<?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\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/form-method', name: 'article_form_method')] public function formMethod(): Response { $builder = $this->createFormBuilder(null, [ 'method' => 'POST' ]); $res = $builder->getOption('method'); return new Response($res); } } ?>

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

"POST"

Пример

Давайте прочитаем опцию, которая не была задана:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/form-unknown', name: 'article_form_unknown')] public function formUnknown(): Response { $builder = $this->createFormBuilder(null, [ 'attr' => ['class' => 'abcde'] ]); $res = $builder->getOption('unknown_option'); return new Response(var_export($res, true)); } } ?>

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

NULL

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

  • класс FormBuilder,
    который строит формы в Symfony
  • метод add,
    который добавляет поле в форму
  • метод get,
    который возвращает поле формы по имени
  • метод getForm,
    который возвращает готовый объект формы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить