Bonjour,
Je suis la documentation officielle sur les forms et l'exemple n'apparaît à l'écran, je ne comprends pas.
Voilà mon code:
Entity/Task.php
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 <?php namespace App\Entity; class Task { protected $task; protected $dueDate; public function getTask() { return $this->task; } public function setTask(string $task) { $this->task = $task; } public function getDueDate() { return $this->dueDate; } public function setDueDate(\DateTime $dueDate = null) { $this->dueDate = $dueDate; } }
Form/TaskType.php
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <?php namespace App\Form; use App\Entity\Task; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\DateType; use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; class TaskType extends AbstractType { public function buidForm(FormBuilderInterface $builder, array $options) { $builder ->add('task', TextType::class) ->add('dueDate', DateType::class) ->add('save', SubmitType::class) ; } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ 'data_class' => Task::class, ]); } }
Controller/TaskController.php
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 <?php namespace App\Controller; use App\Entity\Task; use App\Form\TaskType; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Annotation\Route; class TaskController extends AbstractController { /** * @Route("/new", name="app_new") */ public function new(Request $request) { $task = new Task(); $task->setTask('Write a blog post'); $task->setDueDate(new \DateTime('tomorrow')); $form = $this->createForm(TaskType::class, $task); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $task = $form->getData(); $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($task); $entityManager->flush(); return $this->redirectToRoute('task_success'); } return $this->render('task/new.html.twig', [ 'form' => $form->createView(), ]); } }
template/task/new.html.twig
Code twig : Sélectionner tout - Visualiser dans une fenêtre à part {{ form(form) }}
Du coup, lorsque je me rend sur http://127.0.0.1:8000/new, il n'y rien qui n'apparaît. Et avec la console développeur, je vois cela:
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <form name="task" method="post"> <div id="task"><input type="hidden" id="task__token" name="task[_token]" value="LwxCbkYwIPQWpZDX6j_vC3G3TBqnFh0kbd6WczNJQ5c"></div> </form>
Peut être que cela peut m'indiquer pourquoi je ne le vois pas.
Merci par avance
Partager