use App\Entity\Article; use App\Form\ArticleType; use Doctrine\ORM\EntityManagerInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Annotation\Route; ... /** * @Route("/articles/create", name="creer_article") * @Route("/articles/{id}/edit", name="editer_article") */ public function edit( Article $article = null, Request $request, EntityManagerInterface $manager ) { // Si l'article est null, on est dans l'ajout d'un nouvel article, // sinon on est dans l'édition d'un article existant. if(!$article) $article = new Article(); $form = $this->createForm(ArticleType::class, $article); $form->handleRequest($request); if($form->isSubmitted() && $form->isValid()) { // Si c'est un nouvel article, initialiser sa date de création if(!$article->getId()) { $article->setCreatedAt(new \DateTime()); } $manager->persist($article); $manager->flush(); return $this->redirectToRoute('voir_article', [ 'id' => $article->getId() ]); } return $this->render('articles/edit.html.twig', [ 'formArticle' => $form->createView(), 'editMode' => $article->getId() !== null, ]); }