Symfony2 : Surcharger le module controller d'un bundle sur Symfony 2: - Le monde du web (Symfony/Php/Angular)

Le blog contient des articles qui décrit les astuces et les bonnes pratiques techniques à appliquer dans les applications web,le blog touche aussi tous les modules d'un projet soit la partie Font-End ou Back-End et on se focalisent essentiellement sur les techniques suivantes (php/symfony/javascript/query/angular/html/css)

Hot

Post Top Ad

mardi 14 mars 2017

Symfony2 : Surcharger le module controller d'un bundle sur Symfony 2:



On est souvent ammené à vouloir surcharger un fichier d'un bundle pour le modifier et le personaliser.

dans cet exemple on va surcharger le bundle FOSUerBundle dans le nouveau bundle UserBundle:

Etape 1 : Il faut d'abord commencer par déclarer le bundle comme parent du nouveau bundle.

  1. namespace Nw\UserBundle;  
  2.   
  3. use Symfony\Component\HttpKernel\Bundle\Bundle;  
  4.   
  5. class NwUserBundle extends Bundle  
  6. {  
  7.    public function getParent()  
  8.     {  
  9.        return 'FOSUserBundle';  
  10.    }  
  11. }  

Etape 2 : Il faut créer un nouveau controleur qui hérite du controleur de FOSUserBundle:

  1. namespace nw\UserBundle\Controller;  
  2.   
  3. use Symfony\Bundle\FrameworkBundle\Controller\Controller;  
  4. use Symfony\Component\HttpFoundation\Response;  
  5. use FOS\UserBundle\Controller\SecurityController as SecurityController;  
  6.   
  7. use nw\UserBundle\Entity\User;  
  8.   
  9. /** 
  10.  * Description of UserController 
  11.  * 
  12.  */  
  13. class UserController extends SecurityController {  
  14.   
  15.     public function LoginBisAction()  
  16.     {  
  17.         $csrfToken = $this->container->get('form.csrf_provider')->generateCsrfToken('authenticate');  
  18.   
  19.          return  $this->container->get('templating')->renderResponse('FOSUserBundle:Security:login_content.html.twig',  array(  
  20.             'last_username' => null,  
  21.             'error'         => null,  
  22.             'csrf_token'    => $csrfToken  
  23.         ));  
  24.     }  
  25.       
  26.     public function createAction()  
  27.     {  
  28.       
  29.         $roles = $this->get('security.roles')->getRoles();  
  30.       
  31.     }  
  32. }  



Utilisation de FOSJsRoutingBundle

Aucun commentaire:

Enregistrer un commentaire

Post Top Ad