Как передавать переменные контроллеру методом post в symfony?

Пользователь

от judd , в категории: PHP , 7 месяцев назад

Как передавать переменные контроллеру методом post в symfony?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от elissa , 7 месяцев назад

@judd 

Для передачи переменных контроллеру методом POST в Symfony, необходимо выполнить следующие шаги:

  1. Создайте форму с помощью класса SymfonyComponentFormExtensionCoreTypeFormType или других типов полей формы, в зависимости от требуемых полей.
1
2
3
4
5
6
7
8
use SymfonyComponentFormExtensionCoreTypeFormType;
use SymfonyComponentFormExtensionCoreTypeTextType;
use SymfonyComponentFormExtensionCoreTypeSubmitType;

$form = $this->createFormBuilder()
    ->add('name', TextType::class)
    ->add('submit', SubmitType::class, ['label' => 'Send'])
    ->getForm();


  1. Отобразите форму в представлении, используя метод createView().
1
2
3
{{ form_start(form) }}
{{ form_widget(form) }}
{{ form_end(form) }}


  1. Обработайте отправленную форму в контроллере, используя метод handleRequest() для получения данных из запроса POST и связывания их с формой.
1
2
3
4
5
6
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
    $name = $form->getData()['name'];
    // делайте что-то с полученными данными
}


Теперь вы можете использовать данные, переданные в контроллер методом POST.