Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
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
C'est bon j'ai trouvé
Alleluia !!!
Voilà pour ceux qui tomberont sur le même problème que moi.
Dans le controller 1 mettre :
[lang=php] $session = new Container('context'); $session->offsetSet('id', 'idBidon');
Dans le controller 2 :
[lang=php] $session = new Container('context'); $session->offsetGet('id')
Bonne journée à vous
Dernière modification par lucie (09-04-2013 14:25:39)
Hors ligne
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
ce que tu a fait est suffisant
si tu veut une implémentation simple :
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
<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