Outils pour utilisateurs

Outils du site


symfony_4:exemples:controleur_swfile

Exemple du contrôleur CRUD SWFile

<?php
 
namespace App\Controller;
 
use App\Entity\SWFile;
use App\Form\SWFileType;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
 
class SWFileController extends Controller
{
    /**
     * Display SWFile list in tab
     *
     * @Route("/SWFile/", name="swfile")
     * 
     * @IsGranted("ROLE_ADMIN", statusCode=404, message="Accès refusé !")
     * 
     * @param Request $request
     * @return \Symfony\Component\HttpFoundation\RedirectResponse|Response
     */
    public function index(Request $request)
    {
        $manager = $this->getDoctrine()->getManager();
 
        $tabSWFile = $manager->getRepository(SWFile::class)->findAll();
 
        return $this->render('SWFile/listSW.html.twig', array(
            'tabSWFile' => $tabSWFile,
        ));
    }
 
    /**
     * Add a SWFile
     *
     * @Route("/ServiceWorker/add", name="swfile_add")
     *
     * @IsGranted("ROLE_ADMIN", statusCode=404, message="Accès refusé !")
     *
     * @param Request $request
     * @return \Symfony\Component\HttpFoundation\RedirectResponse|Response
     */
    public function add( Request $request )
    {
        $SWFile = new SWFile();
        $form = $this->createForm(SWFileType::class, $SWFile);
 
        $form->handleRequest($request);
 
        if ($form->isSubmitted() && $form->isValid()) {
            // $form->getData() holds the submitted values
            // but, the original `$task` variable has also been updated
            $SWFile = $form->getData();
 
            //MAJ des champs non disponibles sur le formulaire
            $SWFile->setCreationDate(new \DateTime("now") );
            $SWFile->setEditDate(new \DateTime("now") );
 
            //Application des modifs en BDD
            $manager = $this->getDoctrine()->getManager();
            $manager->persist($SWFile);
            $manager->flush();
 
            return $this->redirectToRoute('swfile_add');
        }
 
        return $this->render('SWFile/newSW.html.twig', array(
            'form' => $form->createView(),
        ));
    }
 
    /**
     * Edit a SWFile
     *
     * @Route("/SWFile/edit/{sw}", name="swfile_edit", requirements={"sw"="\d+"})
     *
     * @IsGranted("ROLE_ADMIN", statusCode=404, message="Accès refusé !")
     *
     * @param Request $request
     * @param SWFile $SWFile
     * @return \Symfony\Component\HttpFoundation\RedirectResponse|Response
     */
    public function edit(Request $request, SWFile $SWFile)
    {
        $form = $this->createForm(SWFileType::class, $SWFile);
 
        $form->handleRequest($request);
 
        if ($form->isSubmitted() && $form->isValid()) {
            // $form->getData() holds the submitted values
            // but, the original `$task` variable has also been updated
            $SWFile = $form->getData();
 
            //MAJ des champs non disponibles sur le formulaire
            $SWFile->setCreationDate(new \DateTime("now") );
            $SWFile->setEditDate(new \DateTime("now") );
 
            //Application des modifs en BDD
            $manager = $this->getDoctrine()->getManager();
            // $manager->persist($SWFile); -> l'entité existe déjà en BDD donc inutile de la persister, même si cela ne causera aucune erreur
            $manager->flush();
 
            return $this->redirectToRoute('swfile');
        }
 
        return $this->render('SWFile/newSW.html.twig', array(
            'form' => $form->createView(),
        ));
    }
 
    /**
     * Delete a SWFile (not the file, just the database slot
     *
     * @Route("/SWFile/delete/{sw}", name="swfile_delete", requirements={"sw"="\d+"})
     *
     * @IsGranted("ROLE_ADMIN", statusCode=404, message="Accès refusé !")
     *
     * @param Request $request
     * @param SWFile $SWFile
     * @return \Symfony\Component\HttpFoundation\RedirectResponse|Response
     */
    public function delete(Request $request, SWFile $SWFile)
    {
        $manager = $this->getDoctrine()->getManager();
 
        //retrait du SWFile
        $manager->remove($SWFile);
        $manager->flush();
 
        return $this->redirectToRoute('swfile');
    }
 
}
symfony_4/exemples/controleur_swfile.txt · Dernière modification: 2022/11/08 10:34 de admin