Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 09-04-2013 14:01:34

lucie
Membre
Date d'inscription: 21-02-2013
Messages: 15

Session basique

Bonjour,

Je souhaiterais enregistrer 1 toute petite information dans un cookie.
J'aimerais avoir l'implémentation la plus simple possible (avec le minimum de code).

Nous avons deux controllers. Dans le premier on créer une session où l'on enregistre le petit parametre.
Dans le second on relit cette valeur.

Lorsque je vais sur la doc officielle il y a minimum 70 ligne de code à implémenter =S
Quelqu'un pourrait me donner un exemple ULTRA light en spécifiant Controller 1 = .... et Controller 2 = ....

Est-on obligé de modifier le fichier de conf du module ?

Si oui sachant que les deux controllers sont dans des modules différents, dois-je copié la conf dans les deux modules ?

Merci d'avance.

Hors ligne

 

#2 09-04-2013 14:25:17

lucie
Membre
Date d'inscription: 21-02-2013
Messages: 15

Re: Session basique

C'est bon j'ai trouvé big_smile
Alleluia !!!

Voilà pour ceux qui tomberont sur le même problème que moi.

Dans le controller 1 mettre :

Code:

[lang=php]

        $session = new Container('context');
        $session->offsetSet('id', 'idBidon');

Dans le controller 2 :

Code:

[lang=php]

$session = new Container('context');
$session->offsetGet('id')

Bonne journée à vous big_smile

Dernière modification par lucie (09-04-2013 14:25:39)

Hors ligne

 

#3 09-04-2013 14:40:10

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Session basique

Salut, pour répondre à ta question non tu n'es pas obligé d'écrire plusieurs fois la configuration mais tout dépend de la façon dont elle est utilisée. Je t'encourage à aller voir des modules sur le répo Zf-Commons où tu as pas mal d'exemple d'utilisation de configuration.

Concernant ton problème ça fonctionne comme ceci oui par contre l'objet existe toujours si tu en as besoin d'un contrôleur à un autre genre via un forward tu peux utiliser le plugin flashMessenger. C'est pas super propre de faire comme ça mais ça a l'avantage de vider le contenu une fois que tu as récupérer les valeurs.

Hors ligne

 

#4 09-04-2013 18:59:45

aromatix
Membre
Lieu: paris - agadir
Date d'inscription: 12-03-2013
Messages: 20
Site web

Re: Session basique

ce que tu a fait est suffisant

si tu veut une implémentation simple :

Code:

    public function getAction()
    {
        $session = new Container('context');
        $sid = $session->offsetGet('id');
        $id = $sid ?: "vide";
        
        $vm = new ViewModel(array( 'id' => $id ));
        return $vm;
    }

    public function setAction()
    {
        $session = new Container('context');
        $id = 'idBidon';
        
        $session->offsetSet('id', $id);
        
        return new ViewModel(array('id' => $id));
    }

    public function clearAction()
    {
        $session = new Container('context');
        $session->getManager()->getStorage()->clear('context');
        
        return new ViewModel();
    }

dans ta vue get.phtml

Code:

    <p><?php echo 'ID :'.$this->id ?></p>

l'action getAction affichera 'vide' la première foi
si tu appel l'action setAction, puis l'action getAction, a affichera 'idBidon'
si tu appel l'action clearAction, puis l'action getAction, a affichera 'vide !'

(pour info dans clearAction je vide juste le container 'context' )

j'ai écrit un tuto sur les sessions, si tu veut approfondir :
http://aromatix.fr/?p=727

Dernière modification par aromatix (09-04-2013 20:45:08)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages