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 :

Initialisation de variable globale


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 110
    Points : 53
    Points
    53
    Par défaut Initialisation de variable globale
    Bonjour, je suis en train de développer un site e-commerce avec symfony2.2, je veux initialiser une variable de session qui doit contenir les infos du panier du visiteur. Pour celà je veux initialiser cette variable dés le lancement de l'application. Peux-je la mettre dans AppKernl.php?

    Merci

  2. #2
    Nouveau membre du Club
    Inscrit en
    Juin 2013
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    Salut,

    Pour stocker en session dans un controller:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->get('session')->set('panier', $panier);
    EDIT: dsl j'ai mal lu ta demande.

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 110
    Points : 53
    Points
    53
    Par défaut
    Merci mais c'est pas ça ma question.Lorsque je développais avec php, j'initialisais ma variable de session dans in_config.php qui était chargé au lancement de l'application. Si je veux faire de même avec symfony2,où initialiser ma variable de session?

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2013
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    Salut,

    tu peux créer une Action dans tes controller qui sera exécutée avant chaque Action.
    Ca s'appelait "prependAction()".
    Il y avait surement d'autres fichiers à modifier pour spécifier à Symfony2 que l'action prependAction() doit être éxécutées avant chaque autre Action du controller.

    Dedans tu mets un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($this->get('session')->get('panier') === null) {
        $this->get('session')->set('panier', $panier);
    }
    J'avais utilisé ce fonctionnement pour un panier pour un site d'ecommerce ainsi que pour récupérer la liste des catégories pour l'afficher dans mon menu pour toutes les pages.

    Malheureusement je ne retrouve pas les tuto la dessus.



    ps: Que veux tu initialiser dans ton panier pour les visiteurs?
    Par défaut $this->get('session')->get('panier') renvoie null si la variable n'est pas défini (par défaut le panier est vide).

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 110
    Points : 53
    Points
    53
    Par défaut
    Merci beaucoup, je vais essayer de voir de ce coté.

Discussions similaires

  1. DLL et initialisation des variables globales.
    Par Spidyy dans le forum C++
    Réponses: 5
    Dernier message: 21/06/2012, 17h09
  2. Réponses: 20
    Dernier message: 12/02/2008, 17h25
  3. Réponses: 7
    Dernier message: 15/11/2007, 14h41
  4. Initialisation variables globale
    Par reeda dans le forum VB.NET
    Réponses: 4
    Dernier message: 25/08/2007, 09h41
  5. Initialisation des variables globales dans un package
    Par fred_hte_savoie dans le forum SQL
    Réponses: 2
    Dernier message: 17/04/2007, 10h26

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