Как в symfony 3.4 вывести и отправить форму для сущности в списке сущностей?

В Symfony 3.4 для вывода и отправки формы для сущности в списке сущностей рекомендуется использовать компонент Form и компонент Twig.

1. Создайте форму для вашей сущности. Для этого создайте класс формы, например, EntityFormType, который должен наследоваться от AbstractType. В этом классе определите поля формы, соответствующие полям вашей сущности, и их валидаторы:

use SymfonyComponentFormAbstractType;
use SymfonyComponentFormExtensionCoreTypeTextType;
use SymfonyComponentFormFormBuilderInterface;
use SymfonyComponentOptionsResolverOptionsResolver;

class EntityFormType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('field1', TextType::class)
            ->add('field2', TextType::class)
            //...
        ;
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'data_class' => Entity::class,
        ]);
    }
}

2. В контроллере, отвечающем за отображение списка сущностей, создайте метод для обработки и отображения формы. Создайте новый экземпляр формы, передав в него соответствующую сущность. Затем используйте метод createView() для создания объекта FormView, который будет передан в шаблон для рендеринга:

use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationRequest;
use SymfonyComponentRoutingAnnotationRoute;

class EntityController extends AbstractController
{
    /**
     * @Route("/entity/list", name="entity_list")
     */
    public function list(Request $request)
    {
        $entity = new Entity();
        $form = $this->createForm(EntityFormType::class, $entity);

        $form->handleRequest($request);
        if ($form->isSubmitted() && $form->isValid()) {
            // обработка формы
            $entityManager = $this->getDoctrine()->getManager();
            $entityManager->persist($entity);
            $entityManager->flush();
            // ...

            return $this->redirectToRoute('entity_list');
        }

        return $this->render('entity/list.html.twig', [
            'entityForm' => $form->createView(),
        ]);
    }
}

3. В шаблоне entity/list.html.twig рендерите форму с помощью функции form():

{{ form_start(entityForm) }}
    {{ form_widget(entityForm) }}
    <button type="submit">Отправить</button>
{{ form_end(entityForm) }}

Теперь при открытии страницы с списком сущностей будет отображаться форма для создания новых сущностей. При отправке формы данные будут обработаны контроллером и сохранены в базе данных.