IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Question de logique [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2013
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 23
    Points : 19
    Points
    19
    Par défaut Question de logique
    Bonjour,

    je développe actuellement un site web sous Symfony 2.3.1. Tout fonctionne correctement, mais je me pose une question de logique. En effet, ais-je bien compris le fonctionnement de Symfony2 ?

    Voici ma façon de procéder (avec un exemple simple):

    Dans le contrôleur de mon bundle "User" j'ai ceci :

    Code : 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
    class UserController extends Controller
    {
        public function indexAction()
        {
            return $this->render('GamUserBundle:User:index.html.twig');
        }
        public function informationsAction()
        {
    		$user = $this->container->get('security.context')->getToken()->getUser();
    		$username = $user->getUsername();
    		$user_infos = $this->getDoctrine()
                               ->getManager()
                               ->getRepository('GamUserBundle:User')
    			   ->findOneByUsername($username)
    			   ->getInformations();
     
            return $this->render('GamUserBundle:User:informations.html.twig', array('user_infos' => $user_infos));
        }
    }
    Donc deux vues sont générées :

    index.html.twig

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    {% extends "GamUserBundle::layout.html.twig" %}
     
    {% block fos_user_content %}
    	<h3>Profil</h3>
    	{{ render(controller("FOSUserBundle:Profile:show")) }}
    	<h3>Informations</h3>
    	{{ render(controller("GamUserBundle:User:informations")) }}
    {% endblock %}
    et informations.html.twig

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p>Prénom = {{ user_infos.prenom }}</p>
    Avec ce système tout fonctionne et j'ai surtout l'action "informations" qui est très facilement utilisable par d'autres bundles grâce à {{ render(controller("GamUserBundle:User:informations")) }}.

    Ma question est donc : est-ce une méthode viable dans la mesure ou j'ai besoin de pouvoir réutiliser le rendu de l'action "informations" à plusieurs endroits sur le site et dans d'autres bundles ?

    Merci d'avance !

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Bonjour,

    Je ne vois pas quel problème cela pose.

    En revanche pourquoi effectuer une requete pour récupérer le user, tu l'as déjà à disposition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public function informationsAction()
        {
    		$user = $this->container->get('security.context')->getToken()->getUser();
    		$user_infos = $user->getInformations();
     
            return $this->render('GamUserBundle:User:informations.html.twig', array('user_infos' => $user_infos));
        }
    en fait il est même disponible au niveau de twig sans passer par un render!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <p>Prénom = {{ app.user.informations.prenom }}</p>
    http://symfony.com/doc/current/book/...he-user-object

    il faudrait juste traiter le cas ou il n'y a pas d'utilisateurs connecté.

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2013
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Merci de m'avoir éclairé ! J'avais en effet une grosse partie de code inutile.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. question sur logique MVC
    Par Finality dans le forum ASP.NET MVC
    Réponses: 7
    Dernier message: 21/04/2011, 14h12
  2. [AC-2003] Question de logique
    Par isabelle b dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 06/04/2009, 16h54
  3. question sur logique de développement
    Par Finality dans le forum Windows Communication Foundation
    Réponses: 1
    Dernier message: 06/01/2009, 11h47
  4. Une question de logique
    Par Jeoffrey54 dans le forum Langage
    Réponses: 6
    Dernier message: 21/07/2008, 17h03
  5. Composant, socket et question de logique
    Par Hervé Saladin dans le forum Composants VCL
    Réponses: 1
    Dernier message: 09/04/2006, 17h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo