Я только начал изучать Symfony и столкнулся с проблемой. У меня есть типичный пользовательский класс сущности, с такими полями, как «имя», «электронная почта», «пароль» и т. Д. c.
\ Form \ UserType. php
<?php
namespace App\Form;
use App\Entity\User;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class UserType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('username')
->add('email')
->add('password', null, ['data' => 'Type in your password'])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => User::class,
]);
}
}
\ Контроллер \ UserController. php
/* Some code */
/**
* @Route("id{id}/edit", name="user_edit", methods={"GET","POST"})
*/
public function edit(Request $request, User $user, UserPasswordEncoderInterface $encoder): Response
{
$form = $this->createForm(UserType::class, $user);
$form->handleRequest($request);
/* Some code */
return $this->render('user/edit.html.twig', [
'form' => $form->createView(),
]);
}
\ templates \ user \ edit. html .twig
{% extends 'base.html.twig' %}
{% block title %}{{ app.user.username }} profile{% endblock %}
{% block body %}
<h1>Edit user {{ app.user.username }}</h1>
{{ form_start(form) }}
{{ form_widget(form) }}
<button class="btn">{{ button_label|default('Save') }}</button>
{{ form_end(form) }}
<a href="{{ path('user_index', {'id': app.user.id}) }}">back</a>
{% endblock %}
После отправки формы токен автоматически изменится в соответствии с введенным данные. В результате пользователь деавторизован. Как это можно исправить? Я просто хочу получить данные из формы, не меняя токен.