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 :

utilisation variables sessions dans les class form [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 25
    Points : 14
    Points
    14
    Par défaut utilisation variables sessions dans les class form
    Bonjour,
    est-il possible d'utiliser des variables de sessions dans les Class form.C'est-a-dire si jai une variable
    $this->getUser()->setAttribute("membre", $this->membre);
    !!!
    Comment pourrai-je utiliser cette variable dans /lib/form/doctrine/MaformForm.Class.php afin d'effectuer des requêtes avec?
    Merci d'avance.
    cordialement!

  2. #2
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 387
    Points
    9 387
    Par défaut
    De la même façon qu'avec n'importe quelle variable.

    Cela te parle-t-il plus si on fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $variable = $this->getUser()->setAttribute("membre", $this->membre); 
    echo $variable;
    Il faut pas être apeuré par la syntaxe objet.

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par transgohan Voir le message
    De la même façon qu'avec n'importe quelle variable.

    Cela te parle-t-il plus si on fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $variable = $this->getUser()->setAttribute("membre", $this->membre); 
    echo $variable;
    Il faut pas être apeuré par la syntaxe objet.
    bonjour,
    Tu penses vraiment?
    --pour appeler une variable de session dans les controllers on met:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->getUser()->getAttribute("membre")
    ....
    --pour appeler une variable de session dans les templates on met:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sf_user->getAttribute("membre")
    ....
    Ma question est si je suis dans lib/form/doctrine/MaformForm.class.php comment je pourrais appeler une variable de session? je pense etre claire.
    J'ai utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->getUser()->getAttribute("membre")
    .... et j'obtiens cette erreur:
    Call to undefined method InformationsForm::getUser.
    merci davance et cordialement

  4. #4
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 387
    Points
    9 387
    Par défaut
    Mouarf il y a des jours où je ferrai mieux de pas toucher un clavier...

    Bon tentons d'être utile et constructif après ce fail, que nous attribuerons à la période de digestion.


    J'ai pu lire sur StackOverflow que cela ne semble pas possible d'accéder à une telle information.
    Cependant tu peux leurer le système de la sorte lors de l'instanciation de ton form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $form = new myForm(null, 
                       array('attributeFoo' => 
                             $this->getUser()->getAttribute('attributeFoo'));
    Et après dans ta classe form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->getOption('attributeFoo');
    Source : http://stackoverflow.com/questions/6...ny-1-2#2920785

  5. #5
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    A noter que la source dit que c'est une très mauvaise idée de... pas que c'est impossible.

    Il faut récupérer un pointeur vers l’instance courante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $user = sfContext::getInstance()->getUser();
    Ensuite tu peux traiter ton objet user à ta guise. C'est le même objet (pas un clône) que celui retourné dans le contrôleur.

    Il n'est pas effectivement pas recommandé d'accéder directement à un objet depuis un form ce qui limite la portabilité du code, mais parfois c'est plus souple et plus simple.

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Bonjour,
    Merci de vos réponses j'ai fait autrement en ajoutant un champ qui contiendrait ma variable de session et dont je cacherais sur le template.
    et tout marche.
    merci infiniment

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

Discussions similaires

  1. Variables globales dans les classes
    Par sdecorme dans le forum MATLAB
    Réponses: 1
    Dernier message: 04/10/2013, 08h37
  2. variables extern dans les classe
    Par sali lala dans le forum Eclipse
    Réponses: 1
    Dernier message: 09/04/2008, 23h21
  3. Appel variable session dans une class
    Par safisafi dans le forum ASP.NET
    Réponses: 4
    Dernier message: 04/04/2008, 10h59
  4. utilisation des sessions dans les jsp
    Par casho dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 16/08/2006, 19h45
  5. [C++] Pb avec les variable static dans les classe
    Par quantik-revolution dans le forum C++
    Réponses: 3
    Dernier message: 03/03/2006, 18h40

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