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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2013
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 23
    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 émérite
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    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 averti
    Inscrit en
    Juin 2013
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 23
    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, 13h12
  2. [AC-2003] Question de logique
    Par isabelle b dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 06/04/2009, 15h54
  3. question sur logique de développement
    Par Finality dans le forum Windows Communication Foundation
    Réponses: 1
    Dernier message: 06/01/2009, 10h47
  4. Une question de logique
    Par Jeoffrey54 dans le forum Langage
    Réponses: 6
    Dernier message: 21/07/2008, 16h03
  5. Composant, socket et question de logique
    Par Hervé Saladin dans le forum Composants VCL
    Réponses: 1
    Dernier message: 09/04/2006, 16h56

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