Formulaire et CRUD Symfony3
Dans ce tutoriel nous allons voir comment générer un formulaire , ajouter un objet à la base de données grâce à l'entity manager et enfin nous allons voir comment générer un CRUD(create ,read ,update , delete) et manipuler une entité sans avoir besoin d’écrire les codes des fonctions.
Vous trouvez ci dessous les parties de code que j'ai écrit dans le tutoriel.
Commande pour générer PlatType.php
Commande pour générer PlatType.php
php bin/console doctrine:generate:form RestoBundle:Plat
ajoutPlat.html.twig
{% extends'RestoBundle::base.html.twig' %} {%block body%} <div class="container form-ajout"> <div class="row"> <div class="col-lg-12 col-md-6 col-lg-offset-3 col-md-offset-3 col-sm-12 col-xs-12"> {{form_start(form)}} {{form_widget(form)}} <input class="btn btn-success" type="submit" value="Ajouter" /> {{form_end(form)}} </div> </div> </div> {%endblock%}
PlatController.php
Route ajout_plat dans le fichier Ressources/config/routing/routing.yml<?php namespace RestoBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Request; use RestoBundle\Entity\Plat; class PlatController extends Controller { public function ajoutAction(Request $request) { $plat=new Plat(); $form=$this->createForm('RestoBundle\Form\PlatType',$plat); $form->handleRequest($request); if($form->isSubmitted() && $form->isValid()){ $em=$this->getDoctrine()->getManager(); $em->persist($plat); $em->flush($plat); return $this->render('RestoBundle::ajoutPlat.html.twig',array( 'plat'=>$plat, 'form'=>$form->CreateView(), )) ; }}
ajout_plat: path: /ajout-plat defaults: { _controller: RestoBundle:Plat:ajout }
Commande pour generate crud:
php bin/console doctrine:generate:crud RestoBundle:Reservation
Ajouter le chemin de reservation.yml dans le fichier routing.yml
reservation_path: resource: "@RestoBundle/Resources/config/routing/reservation.yml" prefix: /reservation
Commentaires
Enregistrer un commentaire